<SEC-DOCUMENT>0001493152-22-007662.txt : 20220324
<SEC-HEADER>0001493152-22-007662.hdr.sgml : 20220324
<ACCEPTANCE-DATETIME>20220324160829
ACCESSION NUMBER:		0001493152-22-007662
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		89
CONFORMED PERIOD OF REPORT:	20211231
FILED AS OF DATE:		20220324
DATE AS OF CHANGE:		20220324

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Co-Diagnostics, Inc.
		CENTRAL INDEX KEY:			0001692415
		STANDARD INDUSTRIAL CLASSIFICATION:	SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]
		IRS NUMBER:				462609396
		STATE OF INCORPORATION:			UT
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-38148
		FILM NUMBER:		22766564

	BUSINESS ADDRESS:	
		STREET 1:		4049 SOUTH HIGHLAND DRIVE
		CITY:			SALT LAKE CITY
		STATE:			UT
		ZIP:			84124
		BUSINESS PHONE:		8012789769

	MAIL ADDRESS:	
		STREET 1:		4049 SOUTH HIGHLAND DRIVE
		CITY:			SALT LAKE CITY
		STATE:			UT
		ZIP:			84124
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>form10-k.htm
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:us-roles="http://fasb.org/us-roles/2021-01-31" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:CODX="http://codiagnostics.com/20211231">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html" />
</head>
<!-- Field: Set; Name: xdx; ID: xdx_076_XDX_form10%2Dk.xdx -->
<!-- Field: Set; Name: xdx; ID: xdx_02A_US%2DGAAP%2D2021 -->
<!-- Field: Set; Name: xdx; ID: xdx_03B_CODX_codiagnostics.com_20211231 -->
<!-- Field: Set; Name: xdx; ID: xdx_046_20210101_20211231 -->
<!-- Field: Set; Name: xdx; ID: xdx_05D_edei%2D%2DEntityCentralIndexKey_0001692415 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_05A_edei%2D%2DDocumentFiscalPeriodFocus_FY -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<!-- Field: Set; Name: xdx; ID: xdx_067_Sqft_0_utr%2D%2Dacre -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityCentralIndexKey">0001692415</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleanfalse" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:DocumentFiscalPeriodFocus">FY</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetCurrent" contextRef="AsOf2020-12-31" id="xdx2ixbrl0069" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2020-12-31" id="xdx2ixbrl0078" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2020-12-31" id="xdx2ixbrl0081" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2021-12-31" id="xdx2ixbrl0086" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AccountsReceivableNetNoncurrent" contextRef="AsOf2020-12-31" id="xdx2ixbrl0090" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DueToRelatedPartiesCurrent" contextRef="AsOf2021-12-31" id="xdx2ixbrl0107" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent" contextRef="AsOf2020-12-31" id="xdx2ixbrl0111" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2020-12-31" id="xdx2ixbrl0129" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2020-12-31" id="xdx2ixbrl0132" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DueToRelatedPartiesNoncurrent" contextRef="AsOf2021-12-31" id="xdx2ixbrl0134" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2021-12-31" id="xdx2ixbrl0143" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2020-12-31" id="xdx2ixbrl0144" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2021-12-31" id="xdx2ixbrl0149" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PreferredStockValue" contextRef="AsOf2020-12-31" id="xdx2ixbrl0150" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0281" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0284" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0291" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0294" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0299" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0302" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0307" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0310" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0318" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0319" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0337" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0338" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0339" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0343" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0349" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0353" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0356" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0361" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0364" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0369" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0372" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0377" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" id="xdx2ixbrl0378" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember" id="xdx2ixbrl0379" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0383" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" id="xdx2ixbrl0389" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0436" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireMarketableSecurities" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl0450" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0460" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl0468" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl0474" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl0492" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:InterestPaidNet" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0493" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0496" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0505" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonNumeric contextRef="From2021-01-012021-12-31_srt_MinimumMember" id="xdx2ixbrl0552" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">P3Y</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0642" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0646" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0650" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0654" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member6328609" id="xdx2ixbrl0658" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member6328609" id="xdx2ixbrl0660" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member6328609" id="xdx2ixbrl0666" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member6328609" id="xdx2ixbrl0668" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member6328625" id="xdx2ixbrl0674" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member6328625" id="xdx2ixbrl0676" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0682" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0686" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2020-12-31_us-gaap_FairValueInputsLevel1Member" id="xdx2ixbrl0690" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2020-12-31_us-gaap_FairValueInputsLevel3Member" id="xdx2ixbrl0694" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2020-12-31" id="xdx2ixbrl0700" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2020-12-31_us-gaap_InProcessResearchAndDevelopmentMember" id="xdx2ixbrl0776" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2020-12-31_us-gaap_NoncompeteAgreementsMember" id="xdx2ixbrl0784" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2021-12-31" id="xdx2ixbrl0786" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2020-12-31" id="xdx2ixbrl0788" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2020-12-31" id="xdx2ixbrl0792" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SalesAndExciseTaxPayableCurrent" contextRef="AsOf2021-12-31" id="xdx2ixbrl0814" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0973" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0975" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0977" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0979" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0981" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl0983" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl0997" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl0999" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1001" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1003" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1005" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1007" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1009" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1011" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1013" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1049" unitRef="Pure" xs:nil="true"></ix:nonFraction>
  <ix:nonNumeric contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1053" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xs:nil="true"></ix:nonNumeric>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1057" unitRef="Pure" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1061" unitRef="Pure" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="AsOf2019-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl1067" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2019-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl1069" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl1079" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" id="xdx2ixbrl1081" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl1127" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl1129" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl1131" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1153" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1155" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1157" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1159" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1161" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1163" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1165" unitRef="Shares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1167" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1169" unitRef="USDPShares" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2021-01-012021-12-31_us-gaap_WarrantMember" id="xdx2ixbrl1211" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl1228" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="AsOf2021-12-31" id="xdx2ixbrl1291" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" contextRef="AsOf2021-12-31" id="xdx2ixbrl1300" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="AsOf2020-12-31" id="xdx2ixbrl1313" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2021-12-31" id="xdx2ixbrl1328" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2020-12-31" id="xdx2ixbrl1329" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" contextRef="AsOf2021-12-31" id="xdx2ixbrl1337" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2019-12-31" id="xdx2ixbrl1349" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1355" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" contextRef="From2020-01-012020-12-31" id="xdx2ixbrl1361" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" contextRef="AsOf2021-12-31" id="xdx2ixbrl1367" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" contextRef="AsOf2020-12-31" id="xdx2ixbrl1369" unitRef="USD" xs:nil="true"></ix:nonFraction>
  <ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:dateyearmonthday" id="xdx2ixbrl1387" name="us-gaap:LeaseExpirationDate1">2024-02-29</ix:nonNumeric>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="codx-20211231.xsd" xlink:type="simple" />
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2021-01-01to2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-06-30">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-03-23">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-03-23</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_IPOMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncAndIdahoMolecularIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-12-30</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncAndIdahoMolecularIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_AdvancedConceptionsIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member6328609">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member6328609">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member6328609">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member6328625">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member6328625">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member6328640">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_MeasurementInputStrikePriceMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputStrikePriceMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_MeasurementInputPriceVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_MeasurementInputExpectedTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_MeasurementInputCostOfCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputCostOfCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_MeasurementInputDiscountRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_MeasurementInputEquityVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputEquityVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_MeasurementInputAssetVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputAssetVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_MeasurementInputRevenueVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputRevenueVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_EquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_EquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_NoncompeteAgreementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_NoncompeteAgreementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_srt_AmericasMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_srt_AmericasMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_RestOfWorldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_RestOfWorldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_OptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:OptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_ThirdPartiesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncAndIdahoMolecularIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_CommonStockThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_CommonStockThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_CommonStockOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_CommonStockOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_CommonStockTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_CommonStockTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_OptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:OptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_InvestmentRelationsServicesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:InvestmentRelationsServicesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_MeasurementInputExpectedTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_MeasurementInputOptionVolatilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputOptionVolatilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_MeasurementInputExpectedDividendRateMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedDividendRateMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_us-gaap_StockCompensationPlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-12-31_us-gaap_StockCompensationPlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2017-01-01</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2017-01-012017-01-30_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2017-01-01</xbrli:startDate>
        <xbrli:endDate>2017-01-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-12-31_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-03-012022-03-31_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2022-03-01</xbrli:startDate>
        <xbrli:endDate>2022-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Sqft">
      <xbrli:measure>utr:acre</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Rule-Page --><div style="width: 100%"><div style="border-top: Black 4pt solid; font-size: 1pt; border-bottom: Black 1.5pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>UNITED
STATES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>SECURITIES
AND EXCHANGE COMMISSION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>Washington,
D.C. 20549.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>Form
<span id="xdx_90A_edei--DocumentType_c20210101__20211231_zBcygpRBoZOc"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:DocumentType">10-K</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Mark
One)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span id="xdx_90F_edei--DocumentAnnualReport_c20210101__20211231_zXCKKDuyMg49"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleantrue" name="dei:DocumentAnnualReport">&#9746;</ix:nonNumeric></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the fiscal year ended <b><span id="xdx_90A_edei--DocumentPeriodEndDate_c20210101__20211231_zk6DBkAo7qLl"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate"><span id="xdx_906_edei--CurrentFiscalYearEndDate_c20210101__20211231_zGcoPD9q7Ele"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:datemonthdayen" name="dei:CurrentFiscalYearEndDate">December 31</ix:nonNumeric></span>, <span id="xdx_904_edei--DocumentFiscalYearFocus_c20210101__20211231_zRGd9TEFVum7"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:DocumentFiscalYearFocus">2021</ix:nonNumeric></span></ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">OR</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span id="xdx_90E_edei--DocumentTransitionReport_c20210101__20211231_zkS6WK1x1Onl"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleanfalse" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">
 TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the transition period from_______to_______</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File Number <b><span id="xdx_90A_edei--EntityFileNumber_c20210101__20211231_zA7WjPu7NVt3"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityFileNumber">001-38148</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span id="xdx_908_edei--EntityRegistrantName_c20210101__20211231_zZXKv5FWt2y4"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityRegistrantName">CO-DIAGNOSTICS,
INC.</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
Name of Registrant as Specified in Its Charter)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_905_edei--EntityIncorporationStateCountryCode_c20210101__20211231_z4sTUft9vySd"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode">Utah</ix:nonNumeric></span></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>3841</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_90B_edei--EntityTaxIdentificationNumber_c20210101__20211231_zMUveAtoL1v7"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityTaxIdentificationNumber">46-2609396</ix:nonNumeric></span></b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
    or other jurisdiction of</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">incorporation
    or organization)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Primary
    Standard Industrial</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Classification
    Code Number)</span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(I.R.S.
    Employer</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Identification
    Number)</span></p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_905_edei--EntityAddressAddressLine1_c20210101__20211231_zSFBkVYA2jck"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityAddressAddressLine1">2401
S. Foothill Drive</ix:nonNumeric></span>, <span id="xdx_908_edei--EntityAddressCityOrTown_c20210101__20211231_zlV16Uf6qA83"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityAddressCityOrTown">Salt Lake City</ix:nonNumeric></span>, <span id="xdx_90C_edei--EntityAddressStateOrProvince_c20210101__20211231_zefbSGWEWm1i"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince">Utah</ix:nonNumeric></span> <span id="xdx_909_edei--EntityAddressPostalZipCode_c20210101__20211231_ztPOu4MxLbL1"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityAddressPostalZipCode">84109</ix:nonNumeric></span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
of principal executive offices and zip code)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline"><span id="xdx_90D_edei--CityAreaCode_c20210101__20211231_z9rgDT90q8M3"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:CityAreaCode">(801)</ix:nonNumeric></span>
<span id="xdx_909_edei--LocalPhoneNumber_c20210101__20211231_zgis1PkWRuA8"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:LocalPhoneNumber">438-1036</ix:nonNumeric></span></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Registrant&#8217;s
telephone number including area code)</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
registered pursuant to Section 12(b) of the Act:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Title
    of each class</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 24%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Trading
    Symbol(s)</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 40%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Name
    of each exchange on which registered</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_edei--Security12bTitle_c20210101__20211231_zTGQZOiBUhxd"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:Security12bTitle">Common Stock</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_edei--TradingSymbol_c20210101__20211231_zJEAhdGB9nH6"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:TradingSymbol">CODX</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The <span id="xdx_90D_edei--SecurityExchangeName_c20210101__20211231_zFFgiUZgSbG6"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName">Nasdaq</ix:nonNumeric></span> Capital Market</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Securities
registered pursuant to Section 12(g) of the Act: None</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes &#9744; <span id="xdx_90E_edei--EntityWellKnownSeasonedIssuer_c20210101__20211231_zSotss3nzeQ3"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityWellKnownSeasonedIssuer">No</ix:nonNumeric></span>
&#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Act. Yes &#9744; <span id="xdx_900_edei--EntityVoluntaryFilers_c20210101__20211231_zVsnZQVwfral"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityVoluntaryFilers">No</ix:nonNumeric></span>
&#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Exchange Act of 1934
during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject
to such filing requirements for the past 90 days. <span id="xdx_901_edei--EntityCurrentReportingStatus_c20210101__20211231_zw4n9Vme7YK5"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityCurrentReportingStatus">Yes</ix:nonNumeric></span> &#9746;  No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically and posted on its corporate Web site, if any, every Interactive Data
File required to be submitted and posted pursuant to Rule 405 of Regulation S-T (&#167; 232.405 of this chapter) during the preceding
12 months (or such shorter period that the registrant was required to submit and post such files). <span id="xdx_906_edei--EntityInteractiveDataCurrent_c20210101__20211231_zELacGU1dL01"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> &#9746;  No &#9744;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting
company or an emerging growth company. See definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller
reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large accelerated
    filer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 10%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--EntityFilerCategory_c20210101__20211231_zHxMUqhfJXag"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory">Non-accelerated filer</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller reporting company</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_edei--EntitySmallBusiness_c20210101__20211231_zGZyKd57M2pk"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleantrue" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging growth company</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_edei--EntityEmergingGrowthCompany_c20210101__20211231_zyJIoIjAILdl"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleantrue" name="dei:EntityEmergingGrowthCompany">&#9746;</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying
with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. <span id="xdx_90D_edei--EntityExTransitionPeriod_c20210101__20211231_zzM7Ms3cfWFa"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleanfalse" name="dei:EntityExTransitionPeriod">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness
of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered
public accounting firm that prepared or issued its audit report.<span id="xdx_909_edei--IcfrAuditorAttestationFlag_c20210101__20211231_zuVeiU3l9UHi"> <ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleanfalse" name="dei:IcfrAuditorAttestationFlag">&#9744;</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes   &#9744; <span id="xdx_904_edei--EntityShellCompany_c20210101__20211231_zZwvDjzjvkBe"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt:booleanfalse" name="dei:EntityShellCompany">No</ix:nonNumeric></span> &#9746;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which
the common stock was last sold as of the last business day of the registrant&#8217;s most recently completed second fiscal quarter was
approximately $<span id="xdx_906_edei--EntityPublicFloat_iI_c20210630_zK55kQpHqUM5"><ix:nonFraction name="dei:EntityPublicFloat" contextRef="AsOf2021-06-30" format="ixt:numdotdecimal" decimals="0" unitRef="USD">229,000,000</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 23, 2022, there were <span id="xdx_908_edei--EntityCommonStockSharesOutstanding_iI_pid_c20220323_z6qOAtzxr8Qd"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2022-03-23" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">33,965,318</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock, par value $0.001
per share, outstanding.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<!-- Field: Rule-Page --><div style="width: 100%"><div style="border-top: Black 1.5pt solid; font-size: 1pt; border-bottom: Black 4pt solid">&#160;</div></div><!-- Field: /Rule-Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<!-- Field: Page; Sequence: 1 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="width: 100%">&#160;</td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Table
of Contents</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Page</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_001">PART I</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_002">Business.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_003">Risk Factors.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">13</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1B.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_004">Unresolved Staff Comments.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">16</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    2.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_005">Properties.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">16</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    3.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_006">Legal Proceedings.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">16</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    4.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_007">Mine Safety Disclosures.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">17</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_008">PART II</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    5.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_009">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">17</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    6.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_010">[Reserved.]</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    7.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_011">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">18</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    7A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_012">Quantitative and Qualitative Disclosures About Market Risk.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">22</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    8.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_013">Financial Statements and Supplementary Data.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_014">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">44</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9A.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_015">Controls and Procedures.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">44</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9B.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_016">Other Information.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">45</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    9C.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_017">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">45</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_018">PART III</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    10.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_019">Directors, Executive Officers and Corporate Governance.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">45</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    11.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_020">Executive Compensation.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">50</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    12.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_021">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">54</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    13.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_022">Certain Relationships and Related Transactions, and Director Independence.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">55</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    14.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_023">Principal Accountant Fees and Services.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">56</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#a_024">PART IV</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    15.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#a_025">Exhibits and Financial Statement Schedules.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">56</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_001"></span>PART
I</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Forward-Looking
Statements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Annual Report on Form 10-K contains &#8220;forward-looking statements&#8221; that involve risks and uncertainties. All statements other
than statements of historical fact contained in this Annual Report and the documents incorporated by reference herein, including statements
regarding future events, our future financial performance, business strategy, and plans and objectives of management for future operations,
are forward-looking statements. We have attempted to identify forward-looking statements by terminology including &#8220;anticipates,&#8221;
&#8220;believes,&#8221; &#8220;can,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;estimates,&#8221; &#8220;expects,&#8221;
&#8220;intends,&#8221; &#8220;may,&#8221; &#8220;plans,&#8221; &#8220;potential,&#8221; &#8220;predicts,&#8221; &#8220;should,&#8221;
or &#8220;will&#8221; or the negative of these terms or other comparable terminology. Although we do not make forward looking statements
unless we believe we have a reasonable basis for doing so, we cannot guarantee their accuracy. These statements are only predictions
and involve known and unknown risks, uncertainties and other factors and the documents incorporated by reference herein, which may affect
our or our industry&#8217;s actual results, levels of activity, performance or achievements expressed or implied by these forward-looking
statements. Moreover, we operate in a highly regulated, very competitive, and rapidly changing environment. New risks emerge from time
to time and it is not possible for us to predict all risk factors, nor can we address the impact of all factors on our business or the
extent to which any factor, or combination of factors, may cause our actual results to differ materially from those contained in any
forward-looking statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have based these forward-looking statements largely on our current expectations and projections about future events and financial trends
that we believe may affect our financial condition, results of operations, business strategy, short term and long-term business operations,
and financial needs. These forward-looking statements are subject to certain risks and uncertainties that could cause our actual results
to differ materially from those reflected in the forward-looking statements. Factors that could cause or contribute to such differences
include, but are not limited to, those discussed in this Annual Report, and in particular, the risks discussed below and under the heading
&#8220;Risk Factors&#8221; in other documents we file with the SEC. The following discussion should be read in conjunction with the consolidated
financial statements for the fiscal years ended December 31, 2021 and 2020 and notes incorporated by reference therein. We undertake
no obligation to revise or publicly release the results of any revision to these forward-looking statements, except as required by law.
In light of these risks, uncertainties and assumptions, the forward-looking events and circumstances discussed in this Annual Report
may not occur and actual results could differ materially and adversely from those anticipated or implied in the forward-looking statement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">You
should not place undue reliance on any forward-looking statement, each of which applies only as of the date of this Annual Report. Except
as required by law, we undertake no obligation to update or revise publicly any of the forward-looking statements after the date of this
Annual Report to conform our statements to actual results or changed expectations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 24.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">You
are advised, however, to consult any further disclosures we make on related subjects in our reports on Forms 10-Q, 8-K and 10-K filed
with the SEC. You should understand that it is not possible to predict or identify all risk factors. Consequently, you should not consider
this list to be a complete set of all potential risks or uncertainties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Important
factors that could cause actual results to differ materially from those in the forward-looking statements include, without limitation:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the results of clinical
    trials and the regulatory approval process;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">market acceptance of any
    products that may be approved for commercialization;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our ability to protect
    our intellectual property rights;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the impact of any infringement
    actions or other litigation brought against us;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">competition from other
    providers and products;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our ability to develop
    and commercialize new and improved products and services;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes in government regulation;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and other factors (including
    the risks contained in the section entitled &#8220;Risk Factors&#8221; in other documents we file with the SEC) relating to our industry,
    our operations and results of operations.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 3; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Should
one or more of these risks or uncertainties materialize, or should the underlying assumptions prove incorrect, actual results may differ
significantly from those anticipated, believed, estimated, expected, intended or planned.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Factors
or events that could cause our actual results to differ may emerge from time to time, and it is not possible for us to predict all of
them. We cannot guarantee future results, levels of activity, performance or achievements. Except as required by applicable law, including
the securities laws of the United States, we do not intend to update any of the forward-looking statements to conform these statements
to actual results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
used in this Annual Report, the terms &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our&#8221;, &#8220;Company&#8221; and &#8220;Co-Diagnostics&#8221;
means Co-Diagnostics, Inc., a Utah corporation and its consolidated subsidiaries (the &#8220;Company&#8221;), unless otherwise indicated.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_002"></span>ITEM
1: BUSINESS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Overview</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation (the &#8220;Company&#8221; or &#8220;CODX&#8221;), develops, manufactures and sells reagents used for
diagnostic tests that function via the detection and/or analysis of nucleic acid molecules (DNA or RNA), including robust and innovative
molecular tools for detection of infectious diseases, liquid biopsy for cancer screening, and agricultural applications. In connection
with the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained lab systems (which we refer to
as the &#8220;MDx Device&#8221;). We have also developed a unique, groundbreaking portable PCR device (the &#8220;CODX YourTest
PCR&#8482; Device&#8221;) that has been designed to bring affordable, reliable gold-standard polymerase chain reaction (&#8220;PCR&#8221;)
to patients in point-of-care and even at-home settings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
diagnostics systems enable dependable, low-cost, molecular testing for organisms and genetic diseases by automating historically complex
procedures in both the development and administration of tests. CODX&#8217;s technical advance involves a novel, patented approach
to PCR test design of primer and probe structure (&#8220;CoPrimers&#8482;&#8221;) that eliminates one of the key vexing issues
of PCR amplification, the exponential growth of primer-dimer pairs (false positives and false negatives) which adversely interferes with
identification of the target DNA/RNA.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe our proprietary molecular diagnostics technology is paving the way for innovation in disease detection and life sciences research
through our enhanced detection of genetic material. For various reasons, including owning our own our platform, we believe we will be
able to accomplish this faster and more economically, allowing for significant margins while still positioning the Company to be a low-cost
provider of molecular diagnostics and screening services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, continued development has demonstrated the unique properties of our CoPrimer technology that we believe makes it ideally suited
for a variety of applications where specificity is key to optimal results, including multiplexing several targets, enhanced Single Nucleotide
Polymorphism (&#8220;SNP&#8221;) detection and enrichment for next generation sequencing.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
scientists use the complex mathematics of DNA/RNA test design to engineer and optimize DNA/RNA tests and to automate algorithms that
rapidly screen millions of possible options to pinpoint the optimum design. Dr. Brent Satterfield, our founder, developed the Company&#8217;s
intellectual property consisting of the predictive mathematical algorithms and patented molecular structure used in the testing process,
which together represent a major advance in PCR testing systems. CODX technologies are now protected by more than 20 granted or pending
US and foreign patents, as well as certain trade secrets and copyrights. Ownership of our proprietary platform permits us the advantage
of avoiding payment of patent royalties required by other PCR test systems, which may allow the sale of diagnostic PCR tests at a lower
price than competitors, while enabling us to maintain profit margins.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
may either sell or lease the MDx Device to labs and diagnostic centers, through sale or lease agreements, and sell the reagents that
comprise our proprietary tests to those laboratories and testing facilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
proprietary test design process involves identifying the optimal locations on the target genes for amplification and pair the locations
with the optimized primer and probe structure to achieve outputs that meet the design input requirements identified from market research.
This is done by following planned and documented processes, procedures and testing. In other words, we use the data resulting from our
tests to verify whether we succeeded in designing what we intended at the outset. Verification is a series of testing that concludes
that the product is ready to proceed to validation in an evaluation either in our laboratory or in an independent laboratory setting
using initial production tests to confirm that the product as designed meets the user needs.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 4; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Using
our proprietary test design system and proprietary reagents, we have designed and obtained regulatory approval in the European Community
and/or in India to sell PCR diagnostic tests for the detection of COVID-19, influenza, tuberculosis, hepatitis B and C, human papillomavirus,
malaria, chikungunya, dengue, and the zika virus. In the United States, CODX has obtained Emergency Use Authorization (&#8220;EUA&#8221;)
for its Logix Smart<span style="font-variant: small-caps">&#8482;</span> COVID-19 detection test from the Food and Drug Administration,
or FDA, and sells that test to qualified labs. In addition, our COVID-19 detection test and certain of our other suite of COVID-19 products
have been approved for sale in countries such as the United Kingdom, Australia and Mexico by the regulatory bodies in those countries
and have been registered for sale in many more countries.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition to testing for infectious disease, the technology lends itself to identifying any section of a DNA or RNA strand that describe
any type of genetic trait, which creates a number of significant applications. We, in conjunction with our customers, are active in designing
and licensing tests that identify genetic traits in plant and animal genomes. We also have three multiplexed tests developed to test
mosquitos for the identification of diseases carried by the mosquitos to enable municipalities to concentrate their efforts in managing
mosquito populations on the specific areas known to be breeding the mosquitos that carry deadly viruses.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
January 23, 2020, we announced the completion of the principal design work for a PCR test for the new coronavirus, later named COVID-19,
intended to address the potential need for detection of the virus. This test features the Company&#8217;s patented CoPrimer technology,
and was designed using our proprietary software system, following the guidelines published by the World Health Organization (WHO) and
Centers for Disease Control (CDC).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
February 24, 2020, we announced that this test had obtained regulatory clearance to be sold as an IVD for the diagnosis of COVID-19 in
markets that accept CE-marking as valid regulatory approval, and became available for purchase from the Company&#8217;s Utah-based ISO-13485:2016
certified facility&#8212;the first US-based company to obtain such a marking for a COVID-19 test.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
commenced sales of the COVID-19 tests in February and March of 2020 to international customers and to date have since sold over 30,000,000
of this and other COVID tests in numerous countries around the world through an expanding distributor network.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">On
April 6, 2020, we announced that we had received an Emergency Use Authorization from the FDA allowing us to commence sales of our Logix
Smart&#8482; COVID-19 test to laboratories certified by the Center for Medicare and Medicaid Services under the Clinical Laboratories
Improvements Act (&#8220;CLIA&#8221;) to accept human samples for diagnostics testing throughout the United States and have sold our
Logix Smart&#8482; COVID-19 test to such CLIA labs since that time.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Because
we believe that testing for COVID-19 is going to be a consideration for public health worldwide even after the current pandemic has subsided,
we have initiated the Eikon platform to facilitate frequent testing in homes, schools, businesses, and the hospitality industry. We believe
this may be accomplished through the development of a low-cost testing device, easy to use by non-professionals, that can provide PCR
test results in around 30 minutes. The initial project built on this platform, an at-home and point-of-care COVID-19 PCR test, was ultimately
facilitated by our development of a saliva or nasal swab-based PCR test that does not require the RNA/DNA extraction. While the final
result is believed to be approximately equivalent to those processed by a high-complexity clinical laboratory, it has the advantages
of increased speed and ease of handling thanks to lyophilization (or freeze-drying) of our testing reagents to allow for stability at
room temperatures.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
February 15, 2021, we engaged the services of a group of professionals at Idaho Molecular, Inc and Advanced Conceptions, Inc (the &#8220;Entities,&#8221;)
with the expertise to develop the hardware for such a device using our CoPrimers&#8482; as the reagent chemistry. On December
22, 2021, we announced that we would be acquiring the Entities along with all existing and future assets and intellectual property related
to the platform and device. It is expected that the device and test will be available to homes, schools, offices, and the travel industry
among other locations at a cost that will allow screening frequently to prevent spread of the COVID-19 virus in the future. The device
would also be available to test for other pathogens detectable through saliva or other samples as we develop those tests and offer them
to the marketplace. All such tests will be subject to regulatory approval.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 5; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Infectious
Disease Product Offering</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Using
our proprietary test design system and proprietary reagents, we and CoSara Diagnostics Pvt Ltd (&#8220;CoSara&#8221;), our joint venture
for manufacturing in India, design and sell PCR diagnostic tests for detection of diseases and pathogens such as COVID-19, tuberculosis,
hepatitis B and C, malaria, dengue, human papillomavirus, chikungunya, and Zika virus, all of which tests have been designed and verified
in our laboratories. Our tuberculosis test and Zika test received a CE Mark in 2018, and a triplex test for Zika, dengue and chikungunya
received a CE Mark in 2019, qualifying the tests to be sold throughout the European community and in most countries in central and South
America. In December, 2019, CoSara received a license to manufacture and sell tuberculosis, hepatitis B, hepatitis C, human papillomavirus
16/18 and malaria tests in India from the Central Drugs Standard Control Organization (&#8220;CDSCO&#8221;). In February 2020, we received
a CE Mark for our Logix Smart&#8482; COVID-19 test followed by an Emergency Use Authorization by the FDA a few weeks later, and
in April 2020, our COVID-19 test was approved for manufacture and sale in India by the CDSCO and in Mexico by the INDRE, Mexico&#8217;s
equivalent to the United States Center for Disease Control. In August 2020, we received approval from the Australian Department of Health
Therapeutic Goods Division to sell our COVID-19 test in Australia. Other regulatory approvals and registrations followed those listed
here.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
explained above, our Logix Smart&#8482; COVID-19 test was designed, developed, submitted for regulatory approval and ready to be
used as an IVD in countries that accept a CE Mark as approval for use of the test in a period of just over 30 days. This is a real-world
example of how the CODX technology can be used in an evolving epidemic to get diagnostic tools in the hands of medical professionals
without delay. It can be similarly used to design a test for mutated strains of the virus should they not be detectable using currently
available tests.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span style="text-decoration: underline">Caribbean
and Central and South America</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
initial sales were to entities located in South and Central America. In some of those countries, there are limited regulatory hurdles
so we started offering our tests immediately. We have applied for and received registrations for our tests in many of those countries
that require registration, and our distributors in those countries have provided us with in country assistance in completing such registrations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
first offered our Zika test in this region because of the demand for such a test, followed by tests for tuberculosis, our triplex test
for Zika, chikungunya, and dengue. Sales of those tests have not been material, but with the granting of a CE mark for our Logix Smart&#8482;
COVID-19, we began significant sales in this region. Products are manufactured for sale upon receipt of purchase orders from distributors,
labs and hospitals.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span style="text-decoration: underline">India</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
January 2017, the Company entered into an agreement to manufacture diagnostics tests for seven infectious diseases with a pharmaceutical
manufacturing company in India and formed an Indian joint venture organized as CoSara Diagnostics, Pvt Ltd (&#8220;CoSara&#8221;). The
agreement provided for the construction of a manufacturing plant and the manufacture of the tests named above and the joint sales and
marketing of those tests in India. We have received a license for the plant in Ranoli, India to manufacture approved tests and is being
used for testing and manufacturing of our products for the Indian market.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
mentioned above, the CDSCO has given us the approval for manufacture and sale of the nine tests referred above and the Company has begun
manufacture and sale of those tests. The Company has commenced a reagent rental program in India with thermocyclers purchased from third-party
vendors and which we refer to as our MDx Device. Each of the reagent rental placements requires the purchase of a minimum number of tests
per month. The placement of thermocyclers in India has facilitated the sale of the SaraGene COVID-19 tests in India. The World Health
Organization (&#8220;WHO&#8221;) 2019 Global Tuberculosis Report indicates that India is the country with the highest number of cases
of tuberculosis in the world. WHO tuberculosis statistics for India for 2018 give an estimated incidence figure of 2.69 million cases
of tuberculosis for India out of a global incidence of approximately 10.0 million.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 6; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
March 19, 2020, we announced that CoSara received authorization to begin manufacture and sale of COVID-19 tests in India. Those tests
in India are branded as SaraGene COVID-19 tests and are sold exclusively by CoSara. The Indian government places restrictions on the
price that could be charged for COVID-19 tests which has limited the revenue in India more than we have experienced in other parts of
the world. At the time of this report, CoSara has received CDSCO clearance for RT-PCR tests for Mycobacterium tuberculosis, malaria,
hepatitis B, hepatitis C, human papillomavirus (HPV), two COVID-19 assays, chikungunya, dengue, a dengue/chikungunya duplex test, and
an influenza A/influenza B/COVID-19 (&#8220;ABC&#8221;) multiplex test.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span style="text-decoration: underline">Europe</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Molecular
diagnostics, such as our tests, are governed in Europe by the framework for in vitro diagnostics (IVDs), which encompasses diagnostic
products such as reagents, instruments and systems intended for use in diagnosis of disease. The regulatory system for some IVDs allows
for a self-certification procedure, placing heavy responsibility on manufacturers. Non self-certified products are subject to the same
standards as self-certified products but are also subject to audit and review by a notified body prior to receiving approval to be CE-marked.
A CE-marking is a manufacturer&#8217;s declaration that a product meets the requirements of the applicable European Commission directive.
Examples of current obligations include having in place a qualitative manufacturing process, user instructions that are clear and fit
for purpose, and ensuring that the &#8216;physical&#8217; features of devices and diagnostics do not pose any danger. If a product fulfils
these and other related control requirements, it may be CE-marked as an indication that the product is compliant with EU legislation
and sold in the European Union. We have received CE Marks for six of our tests including for COVID-19, COVID-19 (2 gene test), ABC (a
triplex test for Flu A, Flu B and COVID-19), a DS (Direct Saliva, extraction-free) COVID-19 test, tuberculosis, Zika, and our Zika, dengue,
chikungunya triplex tests.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are ISO 13485:2016 certified, relating to the design and manufacture of our medical device products. The ISO certification indicates
that we meet the standards required to self-certify certain of our products and affix a CE-marking for sales of our products in countries
accepting the CE marking (not in the United States) with only minimal further governmental approvals and registrations in most countries.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span style="text-decoration: underline">United
States</span></i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
U.S. Food and Drug Administration (FDA) has granted permission for us to export all of our IVD products. The FDA&#8217;s permission to
export was granted under Section 801(e) of the Federal Food, Drug, and Cosmetic Act, as amended (the &#8220;FDC Act&#8221;). Section
801(e) of the FDA Act covers certain medical devices that have not yet received an approved Premarket Approval in the United States by
the FDA, such as our products. We have not commenced any Premarket Approval steps with the FDA. Section 801(e) of the FDA Act applies
to medical devices that are acceptable to the importing country and that are manufactured under the FDA&#8217;s Good Manufacturing Practices.
We have received EUA for our COVID-19 test, which allows sales to qualified labs in the United States.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
our EUA, we are actively selling our Logix Smart&#8482; COVID-19 test to CLIA certified laboratories in the United States and
the CLIA labs are able to use our test as it is or further validate our COVID-19 or other tests as Laboratory Developed Tests (LDTs),
which refers to a diagnostic test that has been validated for use in the CLIA lab. LDTs may be used by the lab only in that laboratory.
CLIA laboratories develop the performance characteristics, perform the analytical validation for their LDTs and obtain licenses to offer
them as diagnostic services. The FDA has publicly announced its intention to regulate certain LDTs in a phased-in approach, but draft
guidance that was published a couple of years ago was withdrawn at the end of the Obama administration and replaced by an informal non-enforceable
discussion paper reflecting some of the feedback that it received on LDT regulation. We are currently marketing our Logix Smart&#8482;
COVID-19 test to CLIA laboratories throughout the US.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Market
Opportunity</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
market opportunity for our tests changed radically with the emergence of the COVID-19 pandemic. Because we were able to respond rapidly
and produce a quality product, <span style="background-color: white">we have been able to build a distribution network that extends to
more than 80 countries with over 50 active distributors, most of which have been the sales network that has allowed us to export products
throughout the world.</span> We believe that after the pandemic is brought under control, the network of distributors that we have built
in these extra-ordinary times will serve us well in sales of other diagnostic tests.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 7; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
molecular diagnostics market is a fast-growing portion of the in vitro (test tube-based, controlled environment) diagnostics market.
There are several advantages of PCR tests, such as the ones we market and sell, over other forms of diagnostic testing. These advantages
include higher specificity and sensitivity, the ability to perform multiplex tests and the ability to test for drug resistance or for
individual genes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Mosquito
Vector Control Services</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
response to market demand, we introduced our first diagnostics tests to be used exclusively to test for mosquito borne pathogens in June
2019. Municipalities in the US and many other countries in the world are concerned about the diseases carried by mosquitos and which
infect the human population. To prevent outbreaks of potentially harmful viruses, such as Zika or West Nile, from infecting the public
the municipalities conduct mitigation operations to eliminate the mosquito populations carrying the diseases. Because it is too expensive
and potentially harmful to the environment to spray all mosquito breeding areas, the solution is to identify which particular area has
mosquitos that are carrying the harmful viruses. To know where the host mosquitos with the harmful viruses are located, traps are set,
mosquitos collected and then tested to find the areas that most needed spraying. There are over 3,000 mosquito abatement districts throughout
the United States and almost all of them conduct testing to help make the spraying more effective.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
first vector related test was a triplex test that tests for West Nile, western equine and St. Louis encephalitis. We began shipping the
tests in June 2019. We added a second test that tests mosquitos for Zika, chikungunya and dengue in a triplex test. Finally, in November
2019, we completed a test for West Nile, eastern equine and St. Louis encephalitis, specifically for use in the eastern United States.
As a result, mosquito abatement districts can test for three target viruses in one test as compared to performing three different tests
using other market available tests, which saves our customers money. Additionally, the districts are more effective because they can
get test results in a matter of hours using our product instead of weeks when they might otherwise have to wait for a central lab to
process the mosquito tests.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have sold our Vector Smart test products and/or related lab equipment to testing districts in different sections of the country and are
marketing our products through trade shows, electronic and regular mail solicitations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Competitive
Advantages of Co-Diagnostics</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>We
believe that we have the following competitive advantages:</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Affordability: </i></b>Lower-cost
    test kits and low-cost MDx-device.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Flexibility:
    </i></b>CODX&#8217;s tests have been designed to run on many vendors&#8217; DNA/RNA diagnostic testing machines. These tests
    are particularly well suited to the new generation of &#8220;lab-on-a-chip&#8221; and &#8220;point-of-care&#8221; (&#8220;LOC and
    POC&#8221;), highly portable analysis machinery for field, clinical and office applications.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Speed</i>:
    </b>We believe our rapid assay design system software provides shorter time to product release. This has been demonstrated with the
    conception, design, product manufacture, clinical verification and submission for a CE Mark for our Logix Smart&#8482; coronavirus
    disease (COVID-19) test being approximately 30 days.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Accuracy</i></b>:
    We believe our technology allows us to build tests that are highly sensitive and specific, the two benchmarks for accuracy in PCR
    testing.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Personalized
    Medicine</i>: </b>We project that rising health care costs in developed and developing nations will increasingly require that health
    care systems be patient-specific to eliminate waste, misdiagnoses, and ineffectiveness. A critical component will be accurate,
    more affordable DNA-based diagnostics, especially in at-home and POC settings, which we plan to offer.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Low-cost Provider</i>:
    </b>Our platform technology obviates the need to pay patent royalties typically required of our competitors, which use patented test
    platforms to design their tests.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 8; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Worldwide Footprint</i>:
    </b>With a dynamic technology that encompasses markets worldwide, we anticipate that we can identify the best target markets, not
    only in high burden developing countries but also in developed nations.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Growth Industry Category</i>:
    </b>We believe that DNA/RNA testing is the fastest-growing segment of in-vitro diagnostic testing.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Combination
    Product Offering</i>: </b>Our sensitive tests can be a well-designed match for a new generation of handheld and other small POC devices
    now entering the market, including our own MDx and YourTest PCR&#8482; devices. Used together, these affordable tests and
    devices may revolutionize the molecular diagnostics industry in cost, speed of test results and simplification.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Multiplexing: </i></b>Our
    existing multiplexed tests demonstrate that our CoPrimer-designed tests are able to test for multiple targets in the same sample
    without the distortion caused by false negatives and false positives that often occur in multiplexed tests.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Liquid
Biopsy for Cancer Screening</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
enhanced specificity of our technology opens up some unique applications for liquid biopsy, demonstrating its ability to detect small
quantities of mutations associated with cancer within an environment of large amounts of normal DNA, as we position the Company to take
part in this historic and challenging development in human health care.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; background-color: #FEFEFE"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Agricultural
Applications</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">SNP
detection is also used in the agricultural industry to identify variations in crop genomes to achieve improved seed viability and other
desired characteristics, including drought resistance, disease resistance, pest resistance and higher yield.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.75in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
mid-2017, the Company was first approached by a large agribusiness to evaluate our ability to multiplex certain target genomes. The results
of the development project have successfully demonstrated our ability to not only multiplex the target genomes, but targeted SNP&#8217;s
as well. The project was undertaken in conjunction with the manufacturer of our CoPrimer tests. The results of the project encouraged
the parent of our manufacturer to seek a world-wide licensing arrangement for our CoPrimers&#8482; in the agricultural industry,
which was completed in October 2018. Pursuant to the exclusive license for the agronomics industry, the licensee pays us a royalty for
all CoPrimers&#8482; sold to the licensee&#8217;s customers. In January 2019, the licensee formally introduced the product at
a large agricultural conference and has branded the product under the name &#8220;BHQ CoPrimers&#8482;&#8221;.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.75in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 9; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Additional
Licensing and Assay Development</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, the unique properties of our CoPrimer technology make them ideally suited to a variety of applications where sensitivity is
key to optimal results, including multiplexing several targets, enhanced SNP detection and enrichment for next generation sequencing.
Our licensee for our agricultural testing requested an expansion of our license agreement to include test design services for their customers
and potential customers, both in the infectious disease arena as well as for agricultural customers. The license was amended in July
2019 and we expect to derive a license fee from our licensee for its design services. If any of its customers desire to commercialize
the tests designed, they will need to seek a commercial license directly from us. Because of these unique characteristics of CoPrimers&#8482;,
research companies and institutions have requested that we design diagnostics to locate and identify uncommon gene sequences and
SNPs and create tests for the target sequences in a multiplexed reaction. This application of our technology is in its beginning stages,
but we believe that the results from our initial research indicate a significant step forward in defining the capabilities of our technology,
which we believe can be translated to revenue producing licensing arrangements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Intellectual
Property</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Because
much of our future success and value depends on our proprietary technology, our patent and intellectual property strategy is of critical
importance. Five of our initial U.S. patents related to our technology have been granted by the U.S. Patent and Trademark Office (PTO),
including the patent for our CoPrimer technology, which we consider our most important patent. One of our patents has been issued in
Great Britain but still pending in the United States, and another has been granted in South Korea. As of March 2022, we have an issued
patent in Great Britain and India on &#8220;Rapid Oligo Probes.&#8221; We also have an issued patent in the U.S. on &#8220;Primers for
Nucleic Acid Extension or Amplification Reactions.&#8221; We have another issued patent in the U.S. on &#8220;Detection of Primers for
Nucleic Acid Extension or Amplification Reactions.&#8221; We have 3 patents issued in the US, as well as patents issued in Australia,
Korea, and Mexico on &#8220;Cooperative Primers, Probes, and Applications Thereof.&#8221; We have applications pending in Australia,
Canada, Europe, and the U.S. for &#8220;Methods and Compositions for Next Generation Sequencing (NGS) Library Preparation.&#8221; We
have applications pending in the U.S. and internationally as a PCT application for &#8220;Allele-Specific Design of Cooperative Primers
for Improved Nucleic Acid Variant Genotyping.&#8221; Lastly, we have a provisional application on file in the U.S. for &#8220;Methods
and Compositions Related to Cooperative Primers and Reverse Transcription.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have identified additional applications of the technology, which represent potential patents that further define specific applications
of the processes that are covered by the original patents. We intend to continue building our intellectual property portfolio as development
continues and resources are available.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have copyrighted our development software that is used by us to develop diagnostic tests based on our technology.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Major
Customers</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">We
had certain customers which were each responsible for generating 10% or more of our total revenue for the year ended December 31, 2021.
Two customers together accounted for approximately 48% of total revenue for the year ended December 31, 2021. These customers may not
account for the same percentage of sales in future periods. </span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
we were to sell nothing to those customers in the future, it would have a material adverse effect on our financial condition unless we
were able to replace those customers with others.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Competition</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
molecular diagnostics industry is extremely competitive. There are many firms that provide some or all of the products we provide and
provide many diagnostic tests that we have yet to develop. Many of these competitors are larger than us and have significantly greater
financial resources. Because are more recently established, many of our competitors have a competitive advantage in the diagnostic testing
industry because they also have other lines of business in the pharmaceutical industry from which they derive revenues and for which
they are well known and respected in the medical profession. We will need to overcome the disadvantage of being perceived as a start
up with no significant respect from the medical and testing professionals, although this is changing as we continue to market our Logix
Smart&#8482; COVID-19 tests and other tests in the United States to well-known and successful laboratories. In the diagnostic
testing industry, we compete with such companies as BioMerieux, Siemens, Qiagen, Cue Health, Lumira Dx and Cepheid and with such pharmaceutical
companies as Abbott Laboratories, Becton Dickinson and Johnson and Johnson.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 10; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Many
of these competitors already have an established customer base with industry standard technology, which we must overcome to be successful.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Competition
is, and will likely continue to be, particularly intense in the market for COVID-19 diagnostic tests. Numerous companies in the United
States and internationally have announced their intention to offer new products, services and technologies that could be used in substitution
for our Logix Smart&#8482; COVID-19 tests. Many of those competitors are significantly larger, and have substantially greater
financial, engineering and other resources, than our company. Existing and potential competitors in the market for COVID-19 diagnostic
tests include developers of serological, antigen and molecular tests. We also compete with companies from Asia in certain markets who
are willing to sell their tests for much less than we sell our tests, which creates competitive price pressure on us.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
expect competition to continue to increase as other established and emerging companies enter the market, as customer requirements evolve,
and as new products, services and technologies are introduced. The entrance of new competitors is being encouraged by governmental authorities,
who are offering funding to support development of testing solutions for COVID-19. Some of our existing or new competitors may have strong
relationships with current and potential customers, including governmental authorities, and, as a result, may be able to respond more
quickly to new or changing regulatory requirements, new or emerging technologies, and changes in customer requirements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Government
Regulation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the United States, we are regulated by the FDA and our products must be approved, cleared, or authorized by the FDA before we are allowed
to sell our tests in the United States as <i>in vitro</i> diagnostics. The FDA granted us an EUA to manufacture and sell our Logix Smart&#8482;
COVID-19 test to CLIA labs in the United States. Being ISO certified greatly facilitates our applications for CE-Marking, which allows
us to sell any CE Marked test in most countries in Europe, South America and Asia, depending on the country and following that country&#8217;s
registration process. We currently have CE Markings issued for our Logix Smart&#8482; COVID-19 test, tuberculosis test, our Zika
virus test, a triplex test that tests for Zika, dengue, and chikungunya simultaneously, a triplex &#8220;ABC&#8221; test that identifies
and distinguishes between Flu A, Flu B and Covid-19, our SARS-CoV-2 2-gene multiplex test, and our DS (Direct Saliva, extraction-free)
COVID-19 test. In addition, our Logix Smart&#8482; COVID-19 has received the license to manufacture and sell in India from India&#8217;s
CDSCO and the National Epidemiology Institute in Mexico evaluated our Logix Smart&#8482; COVID-19 and ABC tests and approved them
for sale in Mexico. We have also received approval to sell in Australia. We are in the process of registering for sale our Logix Smart&#8482;
COVID-19 and other tests in a number of major countries around the world.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Employees</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2021, we had 101 full-time and part-time employees at our executive offices and lab facilities in Salt Lake City, Utah.
We have engaged independent contractors in India to promote the use of our products and develop outlets for products and employ the services
of independent sales representatives on an &#8220;as needed&#8221; basis.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Organizational
History and Corporate Information</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
were incorporated as Co-Diagnostics, Inc., in Utah on April 18, 2013. Our principal executive office is located 2401 S. Foothill Drive,
Salt Lake City, Utah 84109. Our telephone number is (801) 438-1036. Our web address is <span style="text-decoration: underline">www.codiagnostics.com</span>. The contents of
our website are not incorporated by reference in this Annual Report.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 11; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Implications
of Being an Emerging Growth Company</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are an &#8220;emerging growth company,&#8221; as defined in the Jumpstart Our Business Startups Act of 2012. We will remain an emerging
growth company until the earlier of (i) the last day of the fiscal year following the fifth anniversary of July 12, 2017, the date of
the first sale of our common stock pursuant to an effective registration statement under the Securities Act of 1933, as amended (the
&#8220;Securities Act&#8221;); (ii) the last day of the fiscal year in which we have total annual gross revenues of $1 billion or more;
(iii) the date on which we have issued more than $1 billion in nonconvertible debt during the previous three years; or (iv) the date
on which we are deemed to be a large accelerated filer under applicable SEC rules. We expect that we will remain an emerging growth company
for the foreseeable future, but cannot retain our emerging growth company status indefinitely. We refer to the Jumpstart Our Business
Startups Act of 2012 herein as the &#8220;JOBS Act&#8221;. For so long as we remain an emerging growth company, we are permitted and
intend to rely on exemptions from specified disclosure requirements that are applicable to other public companies that are not emerging
growth companies. These exemptions include:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">being
    permitted to provide only two years of audited financial statements, in addition to any required unaudited interim financial statements,
    with correspondingly reduced &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221;
    disclosure;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">not
    being required to comply with the requirement of auditor attestation of our internal controls over financial reporting;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">not
    being required to comply with any requirement that may be adopted by the Public Company Accounting Oversight Board regarding mandatory
    audit firm rotation or a supplement to the auditor&#8217;s report providing additional information about the audit and the financial
    statements;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">reduced
    disclosure obligations regarding executive compensation; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">not
    being required to hold a nonbinding advisory vote on executive compensation and shareholder approval of any golden parachute payments
    not previously approved.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
as long as we continue to be an emerging growth company, we expect that we will take advantage of the reduced disclosure obligations
available to us as a result of that classification. Accordingly, the information contained herein may be different than the information
received from other public companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">An
emerging growth company can take advantage of the extended transition period provided in Section 7(a)(2)(B) of the Securities Act for
complying with new or revised accounting standards. This allows an emerging growth company to delay the adoption of certain accounting
standards until those standards would otherwise apply to private companies. We have irrevocably elected to avail ourselves of this extended
transition period and, as a result, we will not be required to adopt new or revised accounting standards on the dates on which adoption
of such standards is required for other public reporting companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are also a &#8220;smaller reporting company&#8221; as defined in Rule 12b-2 of the Securities Exchange Act of 1934, as amended, or the
Exchange Act, and have elected to take advantage of certain of the scaled disclosure available for smaller reporting companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 12; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_003"></span>ITEM
1A. RISK FACTORS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Risks
Related to Our Business and Industry</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
have a limited commercial history upon which to base our prospects and are not certain
that we will sustain profitability in the future.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
began operations in April 2013, and we have a limited operating history. We were profitable for the years ended December 31, 2021 and
2020, respectively. Our accumulated retained earnings were $54.2 million and $17.5 million as of December 31, 2021 and 2020, respectively.
We realized net income for the first time for the three months ended June 30, 2020. We were able to achieve net income during the prior
two fiscal years because we were able to develop, market and profitably sell our LogixSmart COVID-19 and other COVID-19 tests, but we
do not have any way to predict how long our market for that test will continue. Potential investors should be aware of the difficulties
normally encountered by a new enterprise, many of which are beyond our control, including substantial risks and expenses in the course
of developing new diagnostic tests, establishing or entering new markets, organizing operations and marketing procedures. The likelihood
of our success must be considered in light of these risks, expenses, complications and delays, and the competitive environment in which
we operate. There is, therefore, nothing at this time upon which to base an assumption that our business plan will continue to prove
successful, and we may not be able to generate significant revenue, raise additional capital or operate profitably. We will continue
to encounter risks and difficulties frequently experienced by early commercial stage companies, including scaling up our infrastructure
and headcount, and may encounter unforeseen expenses, difficulties or delays in connection with our growth. In addition, as a result
of the start-up nature of our business, we can be expected to continue to sustain substantial operating expenses and may not be able
to continue generating sufficient revenues to cover expenditures. Any investment in our company is therefore highly speculative and could
result in the loss of any investment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
near-term success has been dependent on the market for our COVID-19 tests and future success is dependent on continued demand for COVID-19
diagnostics and upon our ability to develop and market other commercially accepted diagnostic tests.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
future success will depend, in part, on the continued market for COVID-19 tests, our ability to develop and sell sufficient quantities
of other diagnostics tests, and our ability to successfully receive regulatory approval for and profitably market our &#8220;YourTest
PCR&#8482; Device.&#8221; Attracting new customers and distribution networks requires substantial time and expense. Any failure to
continue sales of our tests in sufficient quantities to maintain profitability would adversely affect our operating results. Many factors
could affect the market acceptance and commercial success of any of our diagnostic tests and devices, including:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our ability to develop
    additional infectious disease diagnostic tests for which there is a commercial market.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our ability to convince
    our potential customers of the advantages and economic value of our tests over competing technologies and diagnostic tests;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the breadth of our test
    menu relative to competitors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes to policies, procedures
    or currently accepted best practices in clinical diagnostic testing;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the extent and success
    of our marketing and sales efforts; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our ability to manufacture
    in quantity our commercial diagnostic tests and meet demand in a timely fashion.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>General
Risk Factors</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>The
price of our common stock may fluctuate substantially.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
market price of our common stock may be subject to wide fluctuation in response to various factors, some of which are beyond our control.
Some factors that may cause the market price of our common stock to fluctuate, in addition to the other risks mentioned in this &#8220;Risk
Factors&#8221; section and elsewhere in this report, are:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">sales of our common stock
    by our shareholders, executives, and directors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our ability to enter new
    markets;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">actual or un-anticipated
    fluctuations in our annual and quarterly financial results;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our ability to obtain financings
    to continue and expand our commercial activities, expand our manufacturing operations, conduct research and development activities
    including, but not limited to, human clinical trials, and other business activities;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 13; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    ability to secure resources and the necessary personnel to continue and expand our commercial activities, develop additional diagnostic
    tests, conduct clinical trials and gain approval for our diagnostic tests on our desired schedule;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">commencement,
    enrollment or results of our clinical trials of our diagnostic tests or any future clinical trials we may conduct;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in the development status of our diagnostic tests;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">any
    delays or adverse developments or perceived adverse developments with respect to review by the FDA or other similar foreign regulatory
    authorities of our planned clinical trials;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">any
    delay in our submission for studies or test approvals or adverse regulatory decisions, including failure to receive regulatory approval
    for our diagnostic tests;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">our
    announcements or our competitors&#8217; announcements regarding new tests, enhancements, significant contracts, acquisitions or strategic
    investments;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">failures
    to meet external expectations or management guidance;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in our capital structure or dividend policy, including as a result of future issuances of securities and sales of large blocks of
    common stock by our shareholders;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">announcements
    and events surrounding financing efforts, including debt and equity securities;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">competition
    from existing technologies and diagnostic tests or new technologies and diagnostic tests that may emerge;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">announcements
    of acquisitions, partnerships, collaborations, joint ventures, new diagnostic tests, capital commitments, or other events by us or
    our competitors;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in general economic, political and market conditions in any of the regions in which we conduct our business;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in industry conditions or perceptions;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in valuations of similar companies or groups of companies;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">analyst
    research reports, recommendations and changes in recommendations, price targets and withdrawals of coverage;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">departures
    and additions of key personnel;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">disputes
    and litigations related to intellectual properties, proprietary rights, and contractual obligations;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">changes
    in applicable laws, rules, regulations, or accounting practices and other dynamics;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">actions
    taken by our principal shareholders and release or expiry of lockup or other transfer restrictions; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">other
    events or factors, many of which may be out of our control.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, if the market for stocks in our industry or industries related to our industry, or the stock market in general, experiences
a loss of investor confidence, the trading price of our common stock could decline for reasons unrelated to our business, financial condition
and results of operations. If any of the foregoing occurs, it could cause our stock price to fall and may expose us to lawsuits that,
even if unsuccessful, could be costly to defend and a distraction to management.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Future
sales of our common stock in the public market may cause our stock price to decline and impair our ability to raise future capital through
the sale of our equity securities.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
are a substantial number of shares of our common stock held by shareholders who owned shares of our capital stock prior to our initial
public offering that may be able to sell in the public market. Sales by such shareholders of a substantial number of shares could significantly
reduce the market price of our common stock.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Shares
issued by us upon exercise of options granted under our equity plan will be eligible for sale in the public market. If any of these holders
cause a large number of securities to be sold in the public market, the sales could reduce the trading price of our common stock. These
sales also could impede our ability to raise capital in the future.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Anti-takeover
provisions in our charter documents and Utah law could discourage delay or prevent a change of control of our Company and may affect
the trading price of our common stock.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are a Utah corporation and the anti-takeover provisions of the Utah Control Shares Acquisition Act may discourage, delay or prevent a
change of control by limiting the voting rights of control shares acquired in a control share acquisition. In addition, our Articles
of Incorporation and Bylaws may discourage, delay or prevent a change in our management or control over us that shareholders may consider
favorable. Among other things, our Amended and Restated Articles of Incorporation and Bylaws:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">authorize the issuance
    of &#8220;blank check&#8221; preferred stock that could be issued by our board of directors in response to a takeover attempt;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">provide that vacancies
    on our board of directors, including newly created directorships, may be filled only by a majority vote of directors then in office,
    except a vacancy occurring by reason of the removal of a director without cause shall be filled by vote of the shareholders; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">limit who may call special
    meetings of shareholders.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 14; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->14<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
provisions could have the effect of delaying or preventing a change of control, whether or not it is desired by, or beneficial to, our
shareholders.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>NASDAQ
may delist our common stock from its exchange, which could limit investors&#8217; ability to make transactions in our common stock and
subject us to additional trading restrictions.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Should
we fail to satisfy the continued listing requirements of the NASDAQ Capital Market, such as the corporate governance requirements or
the minimum closing bid price requirement, NASDAQ may take steps to delist our common stock. Such a delisting would likely have a negative
effect on the price of our common stock and would impair your ability to sell or purchase our common stock when you wish to do so. In
the event of a delisting, we would take actions to restore our compliance with the NASDAQ Capital Market&#8217;s listing requirements,
but we can provide no assurance that any such action taken by us would allow our common stock to become listed again, stabilize the market
price or improve the liquidity of our common stock, prevent our common stock from dropping below the NASDAQ Capital Market&#8217;s minimum
bid price requirement or prevent future non-compliance with the NASDAQ Capital Market&#8217;s listing requirements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the NASDAQ Capital Market does not maintain the listing of our securities for trading on its exchange, we could face significant material
adverse consequences, including:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a limited availability
    of market quotations for our securities;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">reduced liquidity with
    respect to our securities;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a determination that our
    shares of common stock are &#8220;penny stock&#8221; which will require brokers trading in our shares of common stock to adhere to
    more stringent rules, possibly resulting in a reduced level of trading activity in the secondary trading market for our shares of
    common stock;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a limited amount of news
    and analyst coverage for our company; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">decreased ability to issue
    additional securities or obtain additional financing in the future. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Therefore,
it may be difficult for our shareholders to sell any shares if they desire or need to sell them.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
do not currently intend to pay dividends on our common stock.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not expect to pay cash dividends on our common stock. Any future dividend payments are within the absolute discretion of our board
of directors and will depend on, among other things, our results of operations, working capital requirements, capital expenditure requirements,
financial condition, contractual restrictions, business opportunities, anticipated cash needs, provisions of applicable law and other
factors that our board of directors may deem relevant. We may not generate sufficient cash from operations in the future to pay dividends
on our common stock.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
are an &#8220;emerging growth company&#8221; and will be able to avail ourselves of reduced disclosure requirements applicable to emerging
growth companies, which could make our common stock less attractive to investors.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are an &#8220;emerging growth company,&#8221; as defined in the Jumpstart Our Business Startups Act of 2012, or the JOBS Act, and we
intend to take advantage of certain exemptions from various reporting requirements that are applicable to other public companies that
are not &#8220;emerging growth companies&#8221; including not being required to comply with the auditor attestation requirements of Section
404(b) of the Sarbanes-Oxley Act, reduced disclosure obligations regarding executive compensation in our periodic reports and proxy statements,
and exemptions from the requirements of holding a nonbinding advisory vote on executive compensation and shareholder approval of any
golden parachute payments not previously approved. Investors may find our common stock less attractive because we may rely on these exemptions.
If some investors find our common stock less attractive as a result, there may be a less active trading market for our common stock and
our stock price may be more volatile. We may take advantage of these reporting exemptions until we are no longer an &#8220;emerging growth
company.&#8221; We will remain an &#8220;emerging growth company&#8221; until the earliest of (i) the last day of the fiscal year in
which we have total annual gross revenues of $1.0 billion or more; (ii) the last day of our fiscal year following the fifth anniversary
of the date of the completion of our initial public offering; (iii) the date on which we have issued more than $1.0 billion in nonconvertible
debt during the previous three years; or (iv) the date on which we are deemed to be a large accelerated filer under the rules of the
Securities and Exchange Commission.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 15; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->15<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>&#160;</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>We
have elected to use the extended transition periods for complying with new or revised accounting standards.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have elected to use the extended transition period provided in Section 7(a)(2)(B) of the Securities Act for complying with new or revised
accounting standards that have different effective dates for public and private companies until the earlier of the date we (i) are no
longer an emerging growth company or (ii) affirmatively and irrevocably opt out of the extended transaction period provided in Section
7(a)(2)(B). As a result, our financial statements may not be comparable to those of companies that comply with public company effective
dates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Our
management is required to devote substantial time to compliance initiatives.</i></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
a public company, we incur significant legal, accounting and other expenses that we did not incur as a newly formed entity. The Sarbanes-Oxley
Act, as well as rules subsequently implemented by the Securities and Exchange Commission, and NASDAQ, have imposed various new requirements
on public companies, including requiring establishment and maintenance of effective disclosure and financial controls and changes in
corporate governance practices. Our management and other personnel devote a substantial amount of time to these new compliance initiatives.
Moreover, these rules and regulations increase our legal and financial compliance costs and make some activities more time consuming
and costly. We expect these rules and regulations to make it more difficult and more expensive for us to obtain director and officer
liability insurance and we may be required to incur substantial costs to maintain the same or similar coverage.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_004"></span>ITEM
1B. UNRESOLVED STAFF COMMENTS </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_005"></span>ITEM
2. PROPERTIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
headquarters are located at 2401 S. Foothill Drive, Salt Lake City, Utah. Our current facility has approximately 14,000 square feet of
laboratory and office space under a lease that expires in February 2024. Our recently acquired subsidiaries also lease additional laboratory
and office space under month-to-month leases. We believe the facility we lease is sufficient to meet our needs for the immediate future.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_006"></span>ITEM
3. LEGAL PROCEEDINGS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
July 2020, we were served in an action filed in the United States District Court for the District of Utah claiming that the Company promulgated
false and misleading press releases to increase the price of our stock to improperly benefit the officers and directors of the Company.
The Plaintiff, Gelt Trading, Ltd., a Cayman Islands limited company, demands compensatory damages sustained as a result of our alleged
wrongdoing in an amount to be proven at trial. We will vigorously defend this action as we do not believe it has any merit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
July 2020, we were served in an action filed in the United States District Court for the District of Utah claiming that the Company promulgated
false and misleading press releases to increase the price of our stock to improperly benefit the officers and directors of the Company.
The Plaintiff, Fernando Hernandez demands compensatory damages sustained as a result of our alleged wrongdoing in an amount to be proven
at trial. We will vigorously defend this action as we do not believe it has any merit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
September 2020, we were served in an action filed in the United States District Court for the District of Utah claiming that the officers
and the directors harmed the Company by promulgating false and misleading press releases to increase the price of our stock to improperly
benefit the officers and directors of the Company. The Plaintiff, Luis Aguliera, on behalf of Co-Diagnostics, Inc. seeks damages from
the individual defendants and attorneys&#8217; fees. We will vigorously defend this as we do not believe it has any merit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 16; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->16<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2020, we were served in an action filed in the United States District Court for the District of Utah claiming that the officers
and the directors harmed the Company by promulgating false and misleading press releases to increase the price of our stock to improperly
benefit the officers and directors of the Company. The Plaintiff, Melvyn Klein, on behalf of Co-Diagnostics, Inc. seeks damages from
the individual defendants and attorneys&#8217; fees. We will vigorously defend this as we do not believe it has any merit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
December 2020, we were served in an action filed in the United States District Court for the District of Utah claiming that the officers
and the directors harmed the Company by promulgating false and misleading press releases to increase the price of our stock to improperly
benefit the officers and directors of the Company. The Plaintiff, Mathew Wallace, on behalf of Co-Diagnostics, Inc. seeks damages from
the individual defendants and attorneys&#8217; fees. We will vigorously defend this as we do not believe it has any merit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, we may become involved in litigation relating to claims arising out of our operations in the normal course of business.
Although we have received inquiries from FINRA, NASDAQ and the SEC, to which we have responded, to the best of our knowledge, no governmental
authority is contemplating any proceeding to which we are a party or to which any of our properties or businesses are subject, which
would reasonably be likely to have a material adverse effect on the Company.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_007"></span>ITEM
4. MINE SAFETY DISCLOSURES </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
applicable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_008"></span>PART
II</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_009"></span>ITEM
5. MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER EQUITY SECURITIES </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Market
Information</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
common stock has been quoted on the NASDAQ market under the symbol &#8220;CODX&#8221; since July 12, 2017. The following table sets forth
the high and low prices for our common stock for the periods indicated, as reported by NASDAQ.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: left; padding-bottom: 1.5pt; font-weight: bold">Calendar Quarter Ended:</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">High</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Low</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 31, 2021</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">20.69</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">7.86</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, 2021</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">9.91</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">7.01</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">September 30, 2021</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">11.82</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">7.35</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December 31, 2021</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">10.90</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">7.90</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify; padding-bottom: 1.5pt; font-weight: bold">Calendar Quarter Ended:</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">High</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Low</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 31, 2020</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">21.75</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">0.88</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">June 30, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">29.72</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6.81</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">September 30, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">30.99</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8.07</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">16.96</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">9.01</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Holders</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in">As of March 22, 2022,
the last reported sales price reported on NASDAQ for our common stock was $6.47 per share. As of March 22, 2022, we had
approximately 154 record holders of our common stock. The number of record holders was determined from the records of our transfer
agent and does not include beneficial owners of common stock whose shares are held in the names of various security brokers, dealers,
and registered clearing agencies. The transfer agent for our common stock is VStock Transfer LLC located at 18 Lafayette Pl, Woodmere,
New York 11598.</p>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 17; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->17<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Dividends</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have never declared or paid any cash dividends on our capital stock. The payment of dividends on our common stock in the future will
depend on our earnings, capital requirements, operating and financial condition and such other factors as our Board of Directors may
consider appropriate. We do not anticipate paying dividends on our common stock in the foreseeable future.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Recent
Sales of Unregistered Securities</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
issued the unregistered securities below. For the issuances of unregistered securities, we relied on the exemption from registration
requirements of the Securities Act of 1933, as amended, available under Section 4(a)(2) promulgated thereunder due to the fact that such
issuances did not involve a public offering of securities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During the year ended December
    31, 2021, we issued an aggregate of 5,548 shares of our common stock for services rendered pursuant to consulting agreements.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Purchases
of Equity Securities by the Issuer and Affiliated Purchasers</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_010"></span>ITEM
6. RESERVED </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_011"></span>ITEM
7. MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULT OF OPERATIONS </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following management&#8217;s discussion and analysis of financial condition and results of operations describes the principal factors
affecting the results of our operations, financial condition, and changes in financial condition. This discussion should be read in conjunction
with the accompanying audited financial statements, and notes thereto, included elsewhere in this report. In addition to historical information,
this Annual Report contains forward-looking statements that involve risks, uncertainties, and assumptions. Our actual results may differ
materially from those anticipated in these forward-looking statements as a result of certain factors, including but not limited to those
set forth under the caption &#8220;Item 1A. Risk Factors&#8221; in this Annual Report on Form 10-K.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Business
Overview</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation (the &#8220;Company&#8221; or &#8220;CODX&#8221;), develops, manufactures and sells reagents used for
diagnostic tests that function via the detection and/or analysis of nucleic acid molecules (DNA or RNA), including robust and innovative
molecular tools for detection of infectious diseases, liquid biopsy for cancer screening, and agricultural applications. In connection
with the sale of our tests we may sell diagnostic equipment from other manufacturers as self-contained lab systems (which we refer to
as the &#8220;MDx Device&#8221;). We have also developed a unique, groundbreaking portable PCR device (the &#8220;YourTest PCR&#8482;
Device&#8221;) that has been designed to bring affordable, reliable gold-standard polymerase chain reaction to patients in point-of-care
and even at-home settings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
diagnostics systems enable dependable, low-cost, molecular testing for organisms and genetic diseases by automating historically complex
procedures in both the development and administration of tests. CODX&#8217;s technical advance involves a novel, patented approach
to PCR test design of primer and probe structure (&#8220;CoPrimers&#8482;&#8221;) that eliminates one of the key vexing issues
of PCR amplification, the exponential growth of primer-dimer pairs (false positives and false negatives) which adversely interferes with
identification of the target DNA/RNA.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe our proprietary molecular diagnostics technology is paving the way for innovation in disease detection and life sciences research
through our enhanced detection of genetic material. For various reasons, including owning our own our platform, we believe we will be
able to accomplish this faster and more economically, allowing for significant margins while still positioning the Company to be a low-cost
provider of molecular diagnostics and screening services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 18; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->18<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition, continued development has demonstrated the unique properties of our CoPrimer technology that we believe makes it ideally suited
for a variety of applications where specificity is key to optimal results, including multiplexing several targets, enhanced Single Nucleotide
Polymorphism (&#8220;SNP&#8221;) detection and enrichment for next generation sequencing.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
scientists use the complex mathematics of DNA/RNA test design to engineer and optimize DNA/RNA tests and to automate algorithms that
rapidly screen millions of possible options to pinpoint the optimum design. Dr. Brent Satterfield, our founder, developed the Company&#8217;s
intellectual property consisting of the predictive mathematical algorithms and patented molecular structure used in the testing process,
which together represent a major advance in PCR testing systems. CODX technologies are now protected by more than 20 granted or pending
US and foreign patents, as well as certain trade secrets and copyrights. Ownership of our proprietary platform permits us the advantage
of avoiding payment of patent royalties required by other PCR test systems, which may allow the sale of diagnostic PCR tests at a lower
price than competitors, while enabling us to maintain profit margins.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
may either sell or lease the MDx Device to labs and diagnostic centers, through sale or lease agreements, and sell the reagents that
comprise our proprietary tests to those laboratories and testing facilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
proprietary test design process involves identifying the optimal locations on the target genes for amplification and pair the locations
with the optimized primer and probe structure to achieve outputs that meet the design input requirements identified from market research.
This is done by following planned and documented processes, procedures and testing. In other words, we use the data resulting from our
tests to verify whether we succeeded in designing what we intended at the outset. Verification is a series of testing that concludes
that the product is ready to proceed to validation in an evaluation either in our laboratory or in an independent laboratory setting
using initial production tests to confirm that the product as designed meets the user needs.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Using
our proprietary test design system and proprietary reagents, we have designed and obtained regulatory approval in the European Community
and/or in India to sell PCR diagnostic tests for the detection of COVID-19, influenza, tuberculosis, hepatitis B and C, human papillomavirus,
malaria, chikungunya, dengue, and the zika virus. In the United States, CODX has obtained Emergency Use Authorization (&#8220;EUA&#8221;)
for its Logix Smart&#8482; COVID-19 detection test from the Food and Drug Administration, or FDA, and sells that test to qualified labs.
In addition, our COVID-19 detection test and certain of our other suite of COVID-19 products have been approved for sale in countries
such as the United Kingdom, Australia and Mexico by the regulatory bodies in those countries and have been registered for sale in many
more countries.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
addition to testing for infectious disease, the technology lends itself to identifying any section of a DNA or RNA strand that describe
any type of genetic trait, which creates a number of significant applications. We, in conjunction with our customers, are active in designing
and licensing tests that identify genetic traits in plant and animal genomes. We also have three multiplexed tests developed to test
mosquitos for the identification of diseases carried by the mosquitos to enable municipalities to concentrate their efforts in managing
mosquito populations on the specific areas known to be breeding the mosquitos that carry deadly viruses.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 19; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->19<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>RESULTS
OF OPERATIONS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Results
of Operations for the Years Ended December 31, 2021 and 2020</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below provides a comparison of our operating results for the year ended December 31, 2021 as compared to the year ended December
31, 2020.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Change</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Change</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">%</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">97,885,603</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">74,552,758</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 11%; text-align: right">23,332,845</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 11%; text-align: right">31</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Cost of revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">11,574,944</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">16,591,346</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(5,016,402</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-30</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">86,310,659</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">57,961,412</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">28,349,247</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">49</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,397,813</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,665,113</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,732,700</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">187</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,550,615</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,278,734</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,271,881</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">40</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">14,961,916</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,185,290</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">11,776,626</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">370</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">335,363</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">138,635</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">196,728</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">142</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total operating expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">40,245,707</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">16,267,772</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">23,977,935</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">147</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 1.5pt">Income from operations</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">46,064,952</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">41,693,640</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">4,371,312</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">10</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other income (expense)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,631</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">97,215</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(51,584</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-53</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on disposition of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(44,355</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(175</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(44,180</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">25246</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gain (loss) on equity method investment in joint venture</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(430,433</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">778,385</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,208,818</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-155</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total other income (expense)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(429,157</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">875,425</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,304,582</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-149</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income before income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">45,635,795</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">42,569,065</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,066,730</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax provision</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,977,231</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">90,536</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,886,695</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9816</td><td style="padding-bottom: 1.5pt; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">36,658,564</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">42,478,529</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">(5,819,965</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">-14</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Revenues</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the year ended December 31, 2021, we generated $97.9 million of revenue compared to revenue of $74.5 million in the year ended December
31, 2020. The increase in revenue of $23.3 million was primarily due to sales of our LogixSmart COVID-19 test throughout the world, which
was developed in response to the current COVID-19 pandemic. Of the total revenue in 2021 and 2020, respectively, $0.5 million and $3.7
million was from the sale of third party manufactured equipment and supplies that we sourced and sold to customers to facilitate usage
of our test.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Cost
of Revenues and Gross Profit</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cost
of revenues decreased by $5.0 million from $16.6 million for the year ended December 31, 2020 to $11.6 million for the year ended December
31, 2021. The decrease in cost of revenues was due to a reduction of production costs and the reduction in sales of third-party equipment,
which have a higher cost of sales than tests, and the commission structure of certain sales of tests sold during the year. Our gross
margin was 88.2% for the year ended December 31, 2021 compared to 77.7% for the year ended December 31, 2020. The increase in gross margin
was due to the reduction of production costs, as well as the mix of products we sold, with the majority of our 2021 revenue came from
sales of our test reagents, which has a higher profit margin than sales of equipment.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Operating
Expenses</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
incurred total operating expenses of $40.2 million for the year ended December 31, 2021 compared to total operating expenses of $16.3
million for the year ended December 31, 2020. The increase in operating expenses was primarily due to the increase in business activities
experienced as a result of our increase in revenue, increased third party sales commissions, reflected in sales and marketing, and increased
investment in research and development.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
and marketing expenses for the year ended December 31, 2021 were $13.4 million compared to $4.7 million for the year ended December 31,
2020. The increase of $8.7 million was primarily a result of increased expenses related to stock-based compensation, and personnel related
expenses, including commissions paid to our sales team and distributors, due to the growth in revenue noted above.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 20; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->20<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">General
and administrative expenses increased $3.3 million from $8.3 million for the year ended December 31, 2020 to $11.6 million for the year
ended December 31, 2021. The increase in general and administrative expenses was primarily due to increased activity to support the growth
of our business. The primary drivers of the increased expenses related to increases in stock-based compensation, employee related expenses
and increased expenses for professional services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
research and development expenses increased by $11.8 million from $3.2 million for the year ended December 31, 2020, to $15.0 million
for the year ended December 31, 2021. The primary increase in expenses related to expenditures of over $9.2 million for our point-of-care
device, as well as increases in salaries and related benefits, including stock-based compensation, as we have added additional employees
to our research and development team to increase our product development activities. Additionally, there has been an increase in professional
and lab services utilized to further help us in our research and product development activities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Other
Income (Expense)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
expense was $0.4 million for the year ended December 31, 2021, compared to other income of $0.9 million for the year ended December 31,
2020. The decrease in other income of $1.3 million was primarily related to recording a loss of $0.4 million in 2021 from our India joint
venture. For the year ended December 31, 2020 we recorded a gain of $0.8 million from our India joint venture.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Net
Income</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
realized net income for the year ended December 31, 2021 of $36.7 million compared to net income of $42.5 million for the year ended
December 31, 2020. The decrease in net income of $5.8 million was primarily the result of sales of our LogixSmart COVID-19 test and resulting
margins from those sales offset by increased operating expenses as discussed above. Additionally, we recorded income tax expense of $9.0
million during the year ended December 31, 2021, compared to $0.1 million for the year ended December 31, 2020. During 2020, we released
our deferred tax asset valuation allowance and recorded a deferred tax asset since we utilized our net operating losses from prior years
during the year ended December 31, 2020.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>LIQUIDITY
AND CAPITAL RESOURCES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">At
December 31, 2021, we had cash and cash equivalents of $88.6 million and marketable investment securities of $1.3 million that could
readily be converted into cash if needed. Additionally, our total current assets at December 31, 2021, were $115.1 million compared to
total current liabilities of $12.6 million.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash provided by operating activities during the year ended December 31, 2021 was $41.1 million, compared to $28.2 million for the year
ended December 31, 2020. The increase in cash from operating activities was primarily due to our increased revenue and decrease in inventory,
offset by increases in accounts receivable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
received $4.1 million of cash from investing activities during the year ended December 31, 2021 as compared to $5.8 million of cash used
in investing activities during the year ended December 31, 2020. The increase in cash provided by investing activities is primarily due
to net cash acquired from business acquisitions and proceeds received from maturities of marketable investment securities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
cash provided by financing activities was $0.5 million for the year ended December 31, 2021, compared to $19.7 million for the year ended
December 31, 2020. The decrease is primarily due to net proceeds of $18.0 million received from a series of three registered direct offerings
in 2020 pursuant to our shelf registration in addition to receiving $1.7 million from the exercise of warrants and options for the year
ended December 31, 2020.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
commencing sales of our Logix Smart&#8482; COVID-19 test in March 2020, we have used our cash generated from those sales to fund
the purchase of inventories and the development of our point-of-care device, and to pay our operating expenses. We have increased our
work force most significantly in research and development in order to continue development of a new device and additional tests that
will enable continued use of our distributor network to sell additional products throughout the world.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 21; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->21<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
believe that our existing capital resources and the cash generated from future sales will be sufficient to meet our projected operating
requirements for the next 12 months. However, <span style="background-color: white">our available capital resources may be consumed more
rapidly than currently expected and we may need or want to raise additional financing for strategic opportunities. If needed, we expect
additional investment capital to come from (i) additional issuances of our common stock with existing and new investors or (ii) the private
placement of other securities with investors similar to those that have provided funding in the past. We may not be able to secure such
financing in a timely manner or on favorable terms, if at all.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
October 30, 2020, we filed a Registration Statement on Form S-3 (File No: 333-249651) with the Securities and Exchange Commission (the
&#8220;SEC&#8221;). The SEC declared the Form S-3 effective on November 5, 2020. Pursuant to a prospectus supplement to the Form S-3,
we may offer and sell up to $100 million of the following securities separately or together, in one or more series or classes and in
amounts, at prices and on terms described in one or more offerings: common stock; preferred stock; warrants to purchase our securities,
each of which may be convertible into equity securities; or units comprised of, or other combinations of, the foregoing securities through
underwriting syndicates managed or co-managed by one or more underwriters or dealers, through agents or directly to purchasers. Each
time our securities are offered, we will provide a prospectus supplement to the Form S-3 containing more specific information about the
particular offering. To date, we have not filed a prospectus supplement to, or sold any securities under, this Form S-3.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Below
is a summary of the direct offerings done in 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2020, we sold
    an aggregate of 3,448,278 shares of common stock to institutional investors for $1.45 per share for gross proceeds of approximately
    $5.0 million pursuant to a shelf-registration statement on Form S-3 (File No: 333-226835) declared effective by the SEC on September
    7, 2018 (the &#8220;Shelf Registration Statement&#8221;).</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On February 10, 2020, the
    Company entered into securities purchase agreements with certain institutional investors pursuant to which such investors purchased
    an aggregate of 3,324,676 shares of common stock at a purchase price of $ 3.08 per share in a registered direct offering pursuant
    to the Shelf Registration Statement. The aggregate gross proceeds for the sale of the shares were approximately $10.2 million. The
    closing of the offering occurred on or about February 13, 2020.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On February 28, 2020, the
    Company entered into securities purchase agreements with certain institutional investors pursuant to which such investors purchased
    an aggregate of 470,000 shares of common stock at a purchase price of $9.00 per share in a registered direct offering pursuant to
    the Shelf Registration Statement. The aggregate gross proceeds for the sale of the shares were approximately $4.0 million. The closing
    of the offering occurred on or about February 28, 2020.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
foregoing estimates, expectations and forward-looking statements are subject to change as we make strategic operating decisions from
time to time and as our revenue and expenses fluctuate from period to period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Off-Balance
Sheet Arrangements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2021 and 2020, we had no off-balance sheet arrangements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_012"></span>ITEM
7A. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Not
required.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 22; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->22<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_013"></span>ITEM
8. FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA. </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>DECEMBER
31, 2021 AND 2020</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span style="text-decoration: underline">Table
of Contents</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#b_001">Report of Independent Registered Public Accounting Firm</a> (PCAOB ID No. <span id="xdx_906_edei--AuditorFirmId_c20210101__20211231_znSbrTNij12j"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:AuditorFirmId">457</ix:nonNumeric></span>)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#b_002">Balance Sheets</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">24</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#b_003">Statements of Operations</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#b_004">Statement of Changes in Stockholders&#8217; Equity </a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: #CCEEFF">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#b_005">Statements of Cash Flows</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">27</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#b_006">Notes to Financial Statements</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">28</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="b_001"></span>REPORT
OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the Board of Directors and Stockholders of Co-Diagnostics, Inc.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Opinion
on the Financial Statements</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have audited the accompanying balance sheets of Co-Diagnostics, Inc. (the Company) as of December 31, 2021 and 2020, and the related
statements of operations, changes in stockholders&#8217; equity, and cash flows for each of the years in the two-year period
ended December 31, 2021, and the related notes (collectively referred to as the financial statements). In our opinion, the financial
statements present fairly, in all material respects, the financial position of the Company as of December 31, 2021 and 2020 and the results
of its operations and its cash flows for each of the years in the two-year period ended December 31, 2021, in conformity with accounting
principles generally accepted in the United States of America.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
for Opinion</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s
financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board
(United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities
laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain
reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company
is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits,
we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing an opinion
on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error
or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding
the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant
estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits
provide a reasonable basis for our opinion.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_edei--AuditorName_c20210101__20211231_zMs3tPkLlXWd"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:AuditorName">Haynie
&amp; Company</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--AuditorLocation_c20210101__20211231_zBHq11mVQHv5"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" name="dei:AuditorLocation">Salt
Lake City, Utah</ix:nonNumeric></span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March
24, 2022</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have served as the Company&#8217;s auditor since 2016.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 23; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->23<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="b_002"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
BALANCE SHEETS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_30A_111_zocBlHSJ5oBi" summary="xdx: Statement - Consolidated Balance Sheets" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20211231_z1OKTqHI4RKd" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20201231_zFzHSmFfeaX7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--AssetsAbstract_iB_z2obUDm5zpNa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AssetsCurrentAbstract_i01B_zmnAEUci9BOd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashAndCashEquivalentsAtCarryingValue_i02I_maACzx90_zyW2fLAH99j1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 60%; text-align: left">Cash and cash equivalents</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,607,234</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,976,713</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--MarketableSecuritiesCurrent_i02I_maACzx90_z5Cq4NBfkPJa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Marketable investment securities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,266</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:MarketableSecuritiesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,335,446</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AccountsReceivableNetCurrent_i02I_maACzx90_zcphqNYjIyBk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,839,182</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,136,833</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--InventoryNet_i02I_maACzx90_zmimNLeib5V" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,004,169</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,995,189</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--PrepaidExpenseCurrent_i02I_maACzx90_zlziF88SleQ4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,338,444</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">369,028</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NotesAndLoansReceivableNetCurrent_i02I_maACzx90_zKKqMJWQKbt2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Note receivable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0069">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AssetsCurrent_i02TI_mtACzx90_maAz8Dk_zVkJuhC6IzRd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Total current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,119,295</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">67,813,209</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maAz8Dk_zKveO97znJj9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,933,216</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">949,639</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--Goodwill_i01I_maAz8Dk_zLEHeAzdJTO1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,706,818</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0078">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_maAz8Dk_ztSZLkTYDJC3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Intangible assets, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,195,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0081">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--RealEstateInvestmentsJointVentures_i01I_maAz8Dk_zeaKQtGHw19" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Investment in joint venture</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealEstateInvestmentsJointVentures" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,004,953</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealEstateInvestmentsJointVentures" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,927,125</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maAz8Dk_z2WvovmyYUGc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax asset</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0086">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">547,224</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--AccountsReceivableNetNoncurrent_i01I_maAz8Dk_zPAHKIpYjHyk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Note receivable</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">75,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0090">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--Assets_i01TI_mtAz8Dk_zgFYrDclYNb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 2.5pt">Total assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,034,282</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">71,237,197</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesAndStockholdersEquityAbstract_iB_zrm2879BQ0n4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Liabilities and stockholders&#8217; equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LiabilitiesCurrentAbstract_i01B_zu0NXOwh4Nh" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AccountsPayableCurrent_i02I_maLCzV9c_zLrYdjTxvANi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">607,506</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">598,318</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccruedLiabilitiesCurrent_i02I_maLCzV9c_zy2mujJNNEr" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accrued expenses, current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,859,652</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,849,503</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DueToRelatedPartiesCurrent_i02I_maLCzV9c_zgs4q2iWnX8g" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accrued expenses (related party), current</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0107">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DueToRelatedPartiesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">120,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetAcquisitionContingentConsiderationLiabilityCurrent_i02I_maLCzV9c_zZFMVmwcUWR4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration liabilities, current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0"><ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,767,304</ix:nonFraction></p></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0111">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--TaxesPayableCurrent_i02I_maLCzV9c_zEnoGMHt2Xw9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,213,088</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">189,729</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ContractWithCustomerLiabilityCurrent_i02I_maLCzV9c_z9qjcnIA0iQ4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Deferred revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">305,307</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LiabilitiesCurrent_i02TI_mtLCzV9c_maLzFKk_zgLyrksNnKQ3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Total current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,597,550</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,062,857</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--LiabilitiesNoncurrentAbstract_i01B_zpXyUCdJHrVk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long-term liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--TaxesPayableNoncurrent_i02I_maLNz1Eo_zZubm0HMXGZe" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:TaxesPayableNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,067,853</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><p style="margin: 0"><ix:nonFraction name="CODX:TaxesPayableNoncurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">447,831</ix:nonFraction></p></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i02I_maLNz1Eo_zUNcD2CWfPaj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,228,444</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0129">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AssetAcquisitionContingentConsiderationLiabilityNoncurrent_i02I_maLNz1Eo_zVH29USkL3La" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,665,337</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0132">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DueToRelatedPartiesNoncurrent_i02I_maLNz1Eo_zgAfs0sJWK7g" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Accrued expenses (related party), noncurrent</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0134">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DueToRelatedPartiesNoncurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LiabilitiesNoncurrent_i02TI_mtLNz1Eo_maLzFKk_z65IoUPA63sc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total long-term liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><p style="margin: 0"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,961,634</ix:nonFraction></p></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">477,831</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--Liabilities_i01TI_mtLzFKk_maLASEzyQz_zsXtmUWHYouk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,559,184</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,540,688</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CommitmentsAndContingencies_i01I_maLASEzyQz_zK47Pl7TN9Hk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Commitments and contingencies (Note 14)</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0143">&#160;</span></td><td style="text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0144">&#160;</span></td><td style="text-align: right"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--StockholdersEquityAbstract_i01B_zctuwA4AMPE7" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Stockholders&#8217; equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--PreferredStockValue_i02I_maSEzVfa_zdW7HsmQuehi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Convertible preferred stock, $<span id="xdx_902_eus-gaap--PreferredStockParOrStatedValuePerShare_c20211231_pdd" title="Convertible preferred stock, par value"><span id="xdx_901_eus-gaap--PreferredStockParOrStatedValuePerShare_c20201231_pdd" title="Convertible preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_903_eus-gaap--PreferredStockSharesAuthorized_c20211231_pdd" title="Convertible preferred stock , shares authorized"><span id="xdx_902_eus-gaap--PreferredStockSharesAuthorized_c20201231_pdd" title="Convertible preferred stock , shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_904_eus-gaap--PreferredStockSharesIssued_iI_c20211231_zn3MqxoczXQh" title="Convertible preferred stock, shares issued"><span id="xdx_90D_eus-gaap--PreferredStockSharesOutstanding_c20211231_pdd" title="Convertible preferred stock, shares outstanding"><span id="xdx_909_eus-gaap--PreferredStockSharesIssued_c20201231_pdd" title="Convertible preferred stock, shares issued"><span id="xdx_90A_eus-gaap--PreferredStockSharesOutstanding_c20201231_pdd" title="Convertible preferred stock, shares outstanding"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></span> shares issued and outstanding as of December 31, 2021 and December 31, 2020</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0149">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0150">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--CommonStockValue_i02I_maSEzVfa_zbEe1r5YNk76" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Common stock, $<span id="xdx_900_eus-gaap--CommonStockParOrStatedValuePerShare_c20211231_pdd" title="Common stock, par value"><span id="xdx_90F_eus-gaap--CommonStockParOrStatedValuePerShare_c20201231_pdd" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> par value; <span id="xdx_90A_eus-gaap--CommonStockSharesAuthorized_c20211231_pdd" title="Common stock, shares authorized"><span id="xdx_90B_eus-gaap--CommonStockSharesAuthorized_c20201231_pdd" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">100,000,000</ix:nonFraction></ix:nonFraction></span></span> shares authorized; <span id="xdx_901_eus-gaap--CommonStockSharesIssued_c20211231_pdd" title="Common stock, shares issued"><span id="xdx_900_eus-gaap--CommonStockSharesOutstanding_c20211231_pdd" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">33,819,862</ix:nonFraction></ix:nonFraction></span></span> and <span id="xdx_900_eus-gaap--CommonStockSharesIssued_c20201231_pdd" title="Common stock, shares issued"><span id="xdx_903_eus-gaap--CommonStockSharesOutstanding_c20201231_pdd" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,558,033</ix:nonFraction></ix:nonFraction></span></span> shares issued and outstanding as of December 31, 2021 and December 31, 2020, respectively</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,820</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,558</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AdditionalPaidInCapital_i02I_maSEzVfa_zo7H5vLVTDC" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Additional paid-in capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,271,999</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,157,236</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maSEzVfa_zIgByHS6L7h4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Accumulated earnings</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">54,169,279</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,510,715</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockholdersEquity_i02TI_pp0p0_mtSEzVfa_maLASEzyQz_zZCx4BopRln7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Total stockholders&#8217; equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">134,475,098</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">66,696,509</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--LiabilitiesAndStockholdersEquity_i01TI_pp0p0_mtLASEzyQz_zRmVixqDekVa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total liabilities and stockholders&#8217; equity</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,034,282</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">71,237,197</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 24; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->24<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="b_003"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
STATEMENTS OF OPERATIONS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_308_113_zKLLLb8HfLA1" summary="xdx: Statement - Consolidated Statements of Operations" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20210101__20211231_z0IST1YMSvo9" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_495_20200101__20201231_z4mEyaCGovS4" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maCzbMe_zbLmnGjamHF6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Revenue</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,885,603</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,552,758</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--CostOfRevenue_msCzbMe_zcDj2NKPv1E6" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Cost of revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,574,944</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfRevenue" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,591,346</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--GrossProfit_iT_mtCzbMe_maCz7WK_zWMaoikyr9E2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">86,310,659</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,961,412</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--OperatingExpensesAbstract_iB_zdxibugByug" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Operating expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--SellingAndMarketingExpense_i01_maCzIJe_zkUwdSDYYX3i" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Sales and marketing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,397,813</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,665,113</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--GeneralAndAdministrativeExpense_i01_maCzIJe_zmEjbDDIbzTl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">General and administrative</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,550,615</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,278,734</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ResearchAndDevelopmentExpense_i01_maCzIJe_zhlO1OVIi09j" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,961,916</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,185,290</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--DepreciationDepletionAndAmortization_i01_maCzIJe_zq20IpR2Mpue" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,363</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">138,635</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingExpenses_i01T_mtCzIJe_msCz7WK_ziVQIPVJwKA" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total operating expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">40,245,707</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,267,772</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingIncomeLoss_iT_mtCz7WK_maCzTOk_zl4yWjAUqEXj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 30pt; text-align: left; padding-bottom: 1.5pt">Income from operations</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">46,064,952</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,693,640</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NonoperatingIncomeExpenseAbstract_iB_z7jBmbAzFZ01" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other income (expense)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InterestIncomeOther_i01_maCztpe_zyUdEncXnkh3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Interest income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,631</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,215</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--GainLossOnDispositionOfAssets1_i01_maCztpe_zdxAam3RJOpj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on disposition of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">44,355</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">175</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_406_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_i01_maCztpe_z1tTpFJAlqa6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Gain (loss) on equity method investment in joint venture</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">430,433</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">778,385</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NonoperatingIncomeExpense_i01T_mtCztpe_maCzTOk_zBPO9u0mEr82" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Total other income (expense)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">429,157</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">875,425</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtCzTOk_maCzPbZ_z29SoLsUGsgf" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Income before income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,635,795</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,569,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--IncomeTaxExpenseBenefit_msCzPbZ_zIw6IH5kGDtc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Income tax provision</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,977,231</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">90,536</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NetIncomeLoss_iT_mtCzPbZ_z7RP7c4kOqQg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Net income</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,658,564</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,478,529</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--EarningsPerShareBasicAbstract_iB_z8wym1RDJguk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Earnings per common share:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EarningsPerShareBasic_i01_zUMm79TEOhGb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.27</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.59</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EarningsPerShareDiluted_i01_zFrlUXwrmFr4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.23</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.52</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_iB_zIGnJ0M8pUJ" style="vertical-align: bottom; background-color: White">
    <td>Weighted average shares outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_i01_zKodwPlRO0a5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,874,555</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">26,720,133</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_i01_zpybuC7YHf19" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Diluted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">29,903,686</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,000,341</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 25; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->25<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="b_004"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
STATEMENT OF CHANGES IN STOCKHOLDERS&#8217; EQUITY</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_305_114_zgLSmwmX32m9" summary="xdx: Statement - Consolidated Statement of Changes in Stockholders&apos; Equity" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td id="xdx_4BB_us-gaap--StatementClassOfStockAxis_us-gaap--ConvertiblePreferredStockMember_us-gaap--StatementEquityComponentsAxis_us-gaap--PreferredStockMember_z9r5PRe6Mjtd" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td><td style="border-left: Black 1.5pt solid; text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td id="xdx_4BF_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zdd65xyHH9k8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--AdditionalPaidInCapitalMember_zBsE3Yf3sNC1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td id="xdx_4B3_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zkIEi3PIpc4k" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td id="xdx_4B9_zI6R6h2kD0n7" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">&#160;</td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td colspan="5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Convertible
                                            Preferred Stock </b></span></td><td style="padding-bottom: 1.5pt; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td colspan="5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Common
                                            Stock </b></span></td><td style="padding-bottom: 1.5pt; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Additional
                                            Paid-in </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Accumulated
                                            Earnings </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Total
                                            Stockholders&#8217; </b></span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"></p></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: center; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Shares
                                            </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Amount
                                            </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Shares
                                            </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Amount
                                            </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Capital
                                            </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>(Deficit)
                                            </b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 8pt"><b>Equity</b></span></td><td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_435_c20200101__20201231_eus-gaap--StockholdersEquity_iS_pid_zUy5erca4338" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 37%"><span style="font-size: 8pt">Balance as of December 31, 2019</span></td><td style="width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_984_eus-gaap--SharesOutstanding_iS_c20200101__20201231__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zbDllH9Dagqj" title="Beginning balance, shares" style="width: 5%; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">25,600</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">$</span></td><td style="width: 5%; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_98D_eus-gaap--SharesOutstanding_iS_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zxYeTAC6hLSk" title="Beginning balance, shares" style="width: 5%; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2019-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">17,342,922</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">$</span></td><td style="width: 5%; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,343</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">$</span></td><td style="width: 5%; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,687,701</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">$</span></td><td style="width: 5%; text-align: right"><span style="font-size: 8pt">(<ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">24,967,814</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">)</span></td><td style="width: 2%"><span style="font-size: 8pt">&#160;</span></td>
    <td style="width: 1%; text-align: left"><span style="font-size: 8pt">$</span></td><td style="width: 5%; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,737,256</ix:nonFraction></span></td><td style="width: 1%; text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40E_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zuQYfVWS1V1f" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 8pt">Public offering, net of offering costs of $<span id="xdx_901_eus-gaap--PaymentsOfStockIssuanceCosts_c20200101__20201231__us-gaap--SubsidiarySaleOfStockAxis__us-gaap--IPOMember_zstzg1PPWrj7" title="Public offering costs"><ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2020-01-012020-12-31_us-gaap_IPOMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,457,922</ix:nonFraction></span></span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0281">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zLyWZUK18Cnb" title="Public offering, net of offering costs, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">7,242,954</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,243</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,004,840</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0284">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,012,083</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_400_eus-gaap--StockIssuedDuringPeriodValueOther_zwo0fMYCmhmb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 8pt">Common stock issued for warrant exercises</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0291">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_986_eus-gaap--StockIssuedDuringPeriodSharesOther_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z0teQn5qypq2" title="Common stock issued for warrant exercises, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesOther" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">856,660</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">857</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">269,143</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0294">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueOther" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">270,000</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_zrVubik9lA2" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 8pt">Common stock issued for option exercises</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0299">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zBG4Bm3vI6j3" title="Common stock issued for option exercises, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">871,229</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">871</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,459,729</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0302">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,460,600</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_403_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensationGross_zZTFKgdfTqV5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 8pt">Stock-based compensation expense</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0307">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensationGross_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z0mGScL3Ifs9" title="Stock-based compensation expense, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">110,935</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">111</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,737,930</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0310">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,738,041</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40A_eus-gaap--StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_zspTPcQu9Jyc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 8pt">Conversion of preferred stock to common</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_984_eus-gaap--StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember_zwHSM2HwDPZk" title="Conversion of preferred stock to common, shares" style="text-align: right"><span style="font-size: 8pt">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" format="ixt:numdotdecimal" decimals="INF" sign="-" unitRef="Shares">25,600</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">)</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">26</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">)</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_981_eus-gaap--StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zNYwxviL7PW2" title="Conversion of preferred stock to common, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,133,333</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,133</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,107</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">)</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0318">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0319">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_407_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_z9WAInY8q4N8" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt"><span style="font-size: 8pt">Common stock issued for acquisitions</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="border-left: Black 1.5pt solid; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_zn7APgHaK26a" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt"><span style="font-size: 8pt">Common stock issued for acquisitions</span>, shares</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="border-left: Black 1.5pt solid; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetIncomeLoss_zy73S05VxDFl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt"><span style="font-size: 8pt">Net income</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0337">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0338">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0339">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,478,529</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,478,529</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_431_c20210101__20211231_eus-gaap--StockholdersEquity_iS_pid_zhtC0PAjnWuf" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">Balance as of December 31, 2020</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_988_eus-gaap--SharesOutstanding_iS_c20210101__20211231__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_z3VNzYKP7yTc" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0349">-</span></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0343">-</span></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_98A_eus-gaap--SharesOutstanding_iS_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zcWhrvhY9rc2" title="Beginning balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,558,033</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,558</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,157,236</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,510,715</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">66,696,509</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_406_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_z9oAmQiuQG0e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 8pt">Common stock issued for option exercises</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0353">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z2GXFYGggUjj" title="Common stock issued for option exercises, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">189,225</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">189</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">450,209</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0356">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">450,398</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_40C_eus-gaap--StockIssuedDuringPeriodValueShareBasedCompensationGross_zd3gXFrs8ko8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left"><span style="font-size: 8pt">Stock-based compensation expense</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0361">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensationGross_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zIVIV3vHVVVl" title="Stock-based compensation expense, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">444,050</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">444</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,508,960</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0364">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,509,404</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_405_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_zruQZKpJRLTa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left"><span style="font-size: 8pt">Common stock issued for acquisitions</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt">-</span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0369">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid"><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_985_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_za1u59b2IERh" title="Common stock issued for acquisitions, shares" style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,628,554</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,629</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,155,594</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0372">-</span></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td><span style="font-size: 8pt">&#160;</span></td>
    <td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,160,223</ix:nonFraction></span></td><td style="text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_402_eus-gaap--NetIncomeLoss_z7fgQHBcwF9g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt"><span style="font-size: 8pt">Net income</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0377">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt">-</span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0378">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0379">-</span></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,658,564</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 1.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,658,564</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  <tr id="xdx_43C_c20210101__20211231_eus-gaap--StockholdersEquity_iE_pid_zvFhWOENFrbb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">Balance as of December 31, 2021</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_984_eus-gaap--SharesOutstanding_iE_c20210101__20211231__us-gaap--StatementClassOfStockAxis__us-gaap--ConvertiblePreferredStockMember__us-gaap--StatementEquityComponentsAxis__us-gaap--PreferredStockMember_zxEfisrsCUV1" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0389">-</span></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><span style="-sec-ix-hidden: xdx2ixbrl0383">-</span></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="border-left: Black 1.5pt solid; padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td id="xdx_981_eus-gaap--SharesOutstanding_iE_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zQUH4sEVtod9" title="Ending balance, shares" style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">33,819,862</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,820</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,271,999</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">54,169,279</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td><td style="padding-bottom: 2.5pt"><span style="font-size: 8pt">&#160;</span></td>
    <td style="border-bottom: Black 2.5pt double; text-align: left"><span style="font-size: 8pt">$</span></td><td style="border-bottom: Black 2.5pt double; text-align: right"><span style="font-size: 8pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,475,098</ix:nonFraction></span></td><td style="padding-bottom: 2.5pt; text-align: left"><span style="font-size: 8pt">&#160;</span></td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 26; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->26<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="b_005"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONSOLIDATED
STATEMENTS OF CASH FLOWS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" id="xdx_305_112_zFw7qyhBkbBa" summary="xdx: Statement - Consolidated Statements of cash Flows" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20210101__20211231_zwznueGb2Cxk" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20200101__20201231_zDWCDfTpS0sb" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_zuRRqhpidw48" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Cash flows from operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--NetIncomeLoss_i01_maCzKBK_zarvQMUG2Rfh" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left">Net income</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,658,564</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,478,529</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zttQZ8JGF9Tg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Adjustments to reconcile net income to cash used in operating activities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--DepreciationDepletionAndAmortization_i02_maCzKBK_zEem5h1IaZqd" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,363</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">138,635</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--ShareBasedCompensation_i02_maCzKBK_z8mnj9yr3kE2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Stock-based compensation expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,509,404</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,738,041</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--GainLossOnSaleOfInvestments_i02N_di_msCzKBK_z5LJRWUfzHc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Loss (gain) from equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">430,433</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnSaleOfInvestments" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">778,385</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_eus-gaap--GainLossOnDispositionOfAssets1_i02N_di_msCzKBK_zwrAK4JsLKOj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Loss on disposition of assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">44,355</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnDispositionOfAssets1" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">175</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--DeferredIncomeTaxExpenseBenefit_i02_maCzKBK_zv8oOKPFc6Li" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">930,081</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">547,224</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--ProvisionForDoubtfulAccounts_i02_maCzKBK_zVvzyjUskXLd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Bad debt expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,672</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">954,804</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zniaNJuxcm3i" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Changes in assets and liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_di_msCzKBK_zYGc6KGItkv3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,740,851</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,960,255</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_di_msCzKBK_zPorMLUiVQW6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,049,095</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,462</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInInventories_i03N_di_msCzKBK_zmFjlrxP5Hhb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,705,361</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,915,241</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_maCzKBK_zfMlcfF4qeub" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">155,307</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">303,984</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_maCzKBK_zTW8sKzzXon2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,643,381</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0436">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maCzKBK_zuVVCNc3x5B7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Accounts payable and accrued expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">299,937</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,758,634</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtCzKBK_maCzEgs_z4exOgr9lCnh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Net cash provided by operating activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,081,424</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,165,235</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zHEZjWqnHh4k" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Cash flows from investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_di_msCzyBc_zGw5oY6AxMRd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Purchases of property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">669,463</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">774,397</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--PaymentsToAcquireMarketableSecurities_i01N_di_msCzyBc_zmyz8Ddyp5Pk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Purchases of marketable investment securities</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0450">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquireMarketableSecurities" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,310,000</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--ProceedsFromSaleAndMaturityOfMarketableSecurities_i01_maCzyBc_z7HfGBgIRYG2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from maturities of marketable investment securities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,080,180</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,974,554</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_ecustom--PaymentsToAcquireInterestInJointVentures_i01N_di_msCzyBc_zL2Mir4Kqi51" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Investment in joint venture</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:PaymentsToAcquireInterestInJointVentures" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">491,739</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="CODX:PaymentsToAcquireInterestInJointVentures" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">714,500</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_401_eus-gaap--PaymentsToAcquireBusinessesNetOfCashAcquired_i01N_di_msCzyBc_zfdmdAiflBdl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Business combinations, net of cash acquired</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">1,196,243</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0460">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtCzyBc_maCzEgs_ztgGTLGVqjgj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Net cash provided by (used in) investing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,098,699</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">5,824,343</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_407_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zVOF6KGKJJ6c" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Cash flows from financing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maCzY9w_z58VRcKEhG12" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Proceeds from sale of common stock</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0468">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,470,005</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_ecustom--ProceedsFromExerciseOfOptionsAndWarrants_i01_maCzY9w_zh4NRDrkKn2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from exercise of options and warrants</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:ProceedsFromExerciseOfOptionsAndWarrants" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">450,398</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:ProceedsFromExerciseOfOptionsAndWarrants" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,730,599</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--PaymentsOfStockIssuanceCosts_i01N_di_msCzY9w_z3tE2dFXwXI3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Payment of offering costs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0474">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,457,921</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtCzY9w_maCzEgs_z9x4QC2JUlUi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Net cash provided by financing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">450,398</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">19,742,683</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCzEgs_zGiZH0ZR6Lyc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Net increase in cash and cash equivalents</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,630,521</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,083,575</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_zDhpx6Xjp1O2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Cash and cash equivalents at beginning of period</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,976,713</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">893,138</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_zwtZMyQZvNm5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Cash and cash equivalents at end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,607,234</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,976,713</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--SupplementalCashFlowInformationAbstract_iB_zX2hBjsWCRE7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Supplemental disclosure of cash flow information</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InterestPaidNet_i01_zuEFPQO6lxO" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Interest paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0492">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0493">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncomeTaxesPaidNet_i01_zqbe8Lfp0tqa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes paid</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxesPaidNet" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,403,769</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0496">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NoncashInvestingAndFinancingItemsAbstract_iB_z35Ufvqh4gO3" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Supplemental disclosure of non-cash investing and financing transactions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_ecustom--NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_i01_z1VFjuSymJlc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Inventory moved to property, plant and equipment</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">285,659</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">117,220</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_i01_zYQfSApTEMpl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Fair value of common stock issued as consideration for business acquisitions</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,160,223</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0505">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_ecustom--FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_i01_zFa7d1QjJdtk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Fair value of contingent common stock and warrants issued as consideration for business acquisitions</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,432,641</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0508">-</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
accompanying notes to consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 27; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->27<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="b_006"></span>CO-DIAGNOSTICS,
INC. AND SUBSIDIARIES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>NOTES
TO CONSOLIDATED FINANCIAL STATEMENTS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>YEARS
ENDED DECEMBER 31, 2021 AND 2020</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock"><p id="xdx_803_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zViDTTJzsjn1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1 &#8211; <span id="xdx_826_zVZX3WS0IVqh">Overview and Basis of Presentation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description
of Business</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation (the &#8220;Company&#8221; or &#8220;CODX&#8221;), is developing robust and innovative molecular tools
for detection of infectious diseases, liquid biopsy for cancer screening, and agricultural applications. The Company develops, manufactures
and sells reagents used for diagnostic tests that function via the detection and/or analysis of nucleic acid molecules (DNA or RNA).
In connection with the sale of these tests, the Company may sell diagnostic equipment and supplies from other manufacturers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Use
of Estimates</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates
and assumptions that affect the amounts reported in the financial statements and the accompanying notes. Such estimates include receivables
and other long-lived assets, legal and regulatory contingencies, income taxes, share based arrangements, and others. These estimates
and assumptions are based on management&#8217;s best estimates and judgments. Actual amounts and results could differ from those estimates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
of Presentation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying audited consolidated financial statements of Co-Diagnostics, Inc. and its wholly owned subsidiaries have been prepared to
reflect the financial position, results of operations and cash flows of the Company and have been prepared in accordance with accounting
principles generally accepted in the United States of America (&#8220;GAAP&#8221;). All intercompany balances and transactions have been
eliminated.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_806_eus-gaap--SignificantAccountingPoliciesTextBlock_zZvbhRl4Iz1e" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2 &#8211; <span id="xdx_821_zU6BuBbOGXhg">Summary of Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span>&#160;</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span></span></b></span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription"><p id="xdx_84B_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zi8aFsvzRVve" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_868_zAoIg8kWVcdk">Reclassifications</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform with the current year&#8217;s presentation. These reclassifications have no impact
on the previously reported results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock"><p id="xdx_849_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zAEuygpiqKti" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_ziYlQl5jWyil">Cash
and Cash Equivalents</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2021 and December
31, 2020. <span style="background-color: white">The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:MarketableSecuritiesPolicy"><p id="xdx_846_eus-gaap--MarketableSecuritiesPolicy_zEkaO0DuWUV1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_z8zyii7eq2Dg">Marketable
Investment Securities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s marketable investment securities are comprised of investments in certificates of deposit. The Company determines the
appropriate classification of its marketable investment securities at the time of purchase and reevaluates such designation at each balance
sheet date. The Company has classified and accounted for its marketable investment securities as available-for-sale securities as the
Company may sell these securities at any time for use in its current operations or for other purposes, even prior to maturity. <span style="background-color: white">As
a result, the Company classifies its marketable investment securities, including securities with stated maturities beyond twelve months,
within current assets in the consolidated balance sheets. Any unrealized gains or losses are immaterial.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:TradeAndOtherAccountsReceivablePolicy"><p id="xdx_84E_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zL1H9FQgXxu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86F_zS9Rdy5AqzQ4">Accounts
Receivable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2021 total accounts receivable was $<span id="xdx_901_eus-gaap--AccountsReceivableGrossCurrent_iI_c20211231_zOAQgcFKeBYb" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableGrossCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,508,779</ix:nonFraction></span> with an allowance for uncollectable
accounts of $<span id="xdx_900_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20211231_zImDyFlHgufj" title="Doubtful accounts"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">669,597</ix:nonFraction></span> resulting in a net amount of $<span id="xdx_908_eus-gaap--AccountsReceivableNetCurrent_iI_c20211231_z7PGGylXtnzf" title="Accounts receivable, net"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,839,182</ix:nonFraction></span>. At December 31, 2020 total accounts receivable was $<span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20201231_z4a7LOTJeLE7" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableGrossCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,928,633</ix:nonFraction></span> with an
allowance for uncollectable accounts of $<span id="xdx_905_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20201231_zCx8z6rWx1a7" title="Doubtful accounts"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">791,800</ix:nonFraction></span> resulting in a net amount of $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20201231_zXZfHRrSF902" title="Accounts receivable, net"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,136,833</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 28; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->28<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:EquityMethodInvestmentsPolicy"><p id="xdx_84D_eus-gaap--EquityMethodInvestmentsPolicy_ztbBNvBVoR8j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zFn8BCB5naEa">Equity-Method
Investments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_84F_eus-gaap--InventoryPolicyTextBlock_zJSxdKriX1Ci" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zWipfv52qduc">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2021, the Company had $<span id="xdx_903_eus-gaap--InventoryNet_iI_c20211231_zV3jP1EBL2Mb" title="Inventory"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,004,169</ix:nonFraction></span> in inventory, of which $<span id="xdx_90F_eus-gaap--InventoryFinishedGoods_iI_c20211231_zNGFDafzIySh" title="Inventory finished goods"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">983,088</ix:nonFraction></span> was
finished goods and $<span id="xdx_905_eus-gaap--InventoryRawMaterials_iI_c20211231_zRZL4rZ6qlq8" title="Inventory raw materials"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,021,081</ix:nonFraction></span> was raw materials. At December 31, 2020, the Company had $<span id="xdx_902_eus-gaap--InventoryNet_iI_pp0p0_c20201231_zkIsHkOENCVj" title="Inventory"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,995,189</ix:nonFraction></span> in inventory, of which $<span id="xdx_904_eus-gaap--InventoryFinishedGoods_iI_c20201231_zhhvjQt001Tl" title="Inventory finished goods"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">598,881</ix:nonFraction></span> was
finished goods and $<span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20201231_zQytWTMDTJh1" title="Inventory raw materials"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,396,308</ix:nonFraction></span> was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_846_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zyNrfAjMIfzd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_860_zYPmYxw5nTv">Property
and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is provided using the straight-line method
over the estimated useful lives of the property, generally from <span id="xdx_909_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtYxL_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_za0xhBcz5AD5" title="Estimated useful life of property::XDX::P3Y"><span style="-sec-ix-hidden: xdx2ixbrl0552">three</span></span> to <span id="xdx_907_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dc_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zUqkJ543Nmrc" title="Estimated useful life of property"><ix:nonNumeric contextRef="From2021-01-012021-12-31_srt_MaximumMember" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">five years</ix:nonNumeric></span>. Repairs and maintenance costs are expensed as incurred
except when such repairs significantly add to the useful life or productive capacity of the asset, in which case the repairs are capitalized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company reviews its long-lived assets, including property and equipment, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:BusinessCombinationsPolicy"><p id="xdx_846_eus-gaap--BusinessCombinationsPolicy_zTCL6gqF6Rp" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86C_zcbUrRrw8YHd">Business
Combinations</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
estimate the fair value of assets acquired and liabilities assumed in a business combination. Goodwill as of the acquisition date is
measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities
assumed. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets.
Management&#8217;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and
unpredictable, and as a result, actual results may differ from estimates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:RevenueRecognitionPolicyTextBlock"><p id="xdx_84F_eus-gaap--RevenueRecognitionPolicyTextBlock_z3JAUr1XuWyc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_864_zganBGX8MqZ">Revenue
Recognition</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_84C_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zsoZvNpjt0Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86F_z0uMxqmiKJ93">Deferred
Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 29; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->29<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ResearchAndDevelopmentExpensePolicy"><p id="xdx_845_eus-gaap--ResearchAndDevelopmentExpensePolicy_ztREKtIsiORl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_z8fievGR2Eid">Research
and Development</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research
and development costs are expensed when incurred. The Company expensed $<span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20210101__20211231_zD31grYExex" title="Research and development costs"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,961,916</ix:nonFraction></span> and $<span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20200101__20201231_zgepmEXfZlw2" title="Research and development costs"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,185,290</ix:nonFraction></span> of research and development costs for
the years ended December 31, 2021 and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy"><p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zp8VINkOnaL4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_zfB04oP1hJfg">Stock-based
Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#8220;RSUs&#8221;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. <span style="background-color: white">When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zTeCsQ39ZPFe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zP3LKUDC7qK8">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. While the Company believes it has no significant uncertain income
tax positions in the consolidated financial statements, adverse determinations by these taxing authorities could have a material adverse
effect on the consolidated financial positions, result of operations, or cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_84C_eus-gaap--EarningsPerSharePolicyTextBlock_zayB3iewlqZh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_zJfGUtsg9uCh">Net
Income per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_zYmv9p6Ni7H6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zqsZadBcpIh">Concentrations
Risk and Significant Customers</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which are each responsible for generating 10% or more of the total revenue for the years ended December
31, 2021 and 2020. Two customers together accounted for approximately <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_zXaRhfoyQkEg" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">48</ix:nonFraction></span>% and <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_z1BK5OEfUokd" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">38</ix:nonFraction></span>% of total revenue for the years ended December 31, 2021
and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Two
customers each accounted for more than 10% of accounts receivable at December 31, 2021 and 2020. These two customers together accounted
for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z1A6UaIYLXXj" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">66</ix:nonFraction></span>% and <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zJm7LCpDZZgi" title="Concentration risk percentage"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">48</ix:nonFraction></span>% of accounts receivable at December 31, 2021 and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 30; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->30<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zqf5gUrlXHAe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zmlRakIHjUGl">Recently
Issued Accounting Standards</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#8217;s financial statements upon adoption.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
an emerging growth company (&#8220;EGC&#8221;), the Company has elected to take advantage of the benefits of the extended transition
period provided for in Section 7(a)(2)(B) of the Securities Act of 1933, as amended, for complying with new or revised accounting standards
which allows the Company to defer adoption of certain accounting standards until those standards would otherwise apply to private companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
February 2016, the FASB issued ASU No. 2016-02, Leases (Topic 842), which requires recognition of leased assets and liabilities on the
balance sheet and disclosing key information about leasing arrangements. This update is effective for annual periods and interim periods
with those periods beginning after December 15, 2021, for public EGC companies like us. The Company will use the modified retrospective
transition method with the option to recognize a cumulative-effect adjustment at the date of adoption. The Company&#8217;s balance
sheet will be impacted as it records right-of-use assets and lease liabilities on its consolidated balance sheets, but the Company
does not expect the adoption of this standard will have a material impact on its consolidated statements of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326) (&#8220;ASU 2016-13&#8221;), which requires
the measurement and recognition of expected credit losses for certain financial instruments, which includes the Company&#8217;s accounts
receivable. ASU 2016-13 replaces the existing incurred loss impairment model with an expected loss methodology, which will result in
more timely recognition of credit losses. The update is effective for annual periods and interim periods with those periods beginning
after December 15, 2021, for public EGC companies. The standard requires a cumulative effect adjustment to the balance sheet as of the
beginning of the first early reporting period in which the guidance is effective. The Company is evaluating the impact of the adoption
of ASU 2016-13 on its consolidated financial statements but does not expect the adoption of this standard will have a material impact
on its consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:BusinessCombinationDisclosureTextBlock"><p id="xdx_801_eus-gaap--BusinessCombinationDisclosureTextBlock_zg4dAP4st03c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3 &#8211; <span id="xdx_828_zSijg2TlSQJj">Business Combinations</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
December 31, 2021, the Company completed its acquisition of Advanced Conceptions, Inc. (&#8220;ACI&#8221;) and Idaho Molecular Inc. (&#8220;IdMo&#8221;),
which were related entities developing, with the Company, an at-home/point-of-care medical diagnostic device. Upon the completion of
the acquisition, all outstanding ACI and Idaho Molecular common stock was exchanged for approximately <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pn5n6_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zyJnNDdWy6gj" title="Number of shares exchanged"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="Shares">3.2</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million shares of the Company&#8217;s common
stock and contingent consideration that includes up to approximately <span id="xdx_905_ecustom--StockIssuedDuringPeriodSharesContingentConsideration_pn5n6_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zEwYAOgdY56h" title="Number of shares on contingent consideration"><ix:nonFraction name="CODX:StockIssuedDuringPeriodSharesContingentConsideration" contextRef="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="Shares">1.4</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million shares and approximately <span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zIGTs6YST2wi" title="Warrants to purchase shares of common stock"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">456,000</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">warrants to purchase shares of the Company&#8217;s
common stock. The contingent consideration is based on the achievement of certain milestones, which include regulatory approval for identified
products, as well as production and net revenue targets. The purchase consideration also includes a payable to a shareholder of ACI of
$<span id="xdx_90A_ecustom--PaymentsToShareHoldersValueAcquisitions_pp0p0_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncMember_zl1KWMGqaIrb" title="Payable to shareholders"><ix:nonFraction name="CODX:PaymentsToShareHoldersValueAcquisitions" contextRef="From2021-01-012021-12-31_custom_AdvancedConceptionsIncMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">100,000</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.
In connection with the acquisition, the Company incurred transaction costs of approximately $<span id="xdx_902_eus-gaap--GeneralAndAdministrativeExpense_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zKMIc0OgmdF1" title="General and administrative expense"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">151,000</ix:nonFraction></span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
which is included in general and administrative expenses. Upon the completion of the acquisition, both ACI and IdMo became <span id="xdx_907_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_dp_uPure_c20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zmv1xruS6QLc" title="Equity method investment ownership percentage" style="font: 10pt Times New Roman, Times, Serif"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>%
wholly-owned subsidiaries of the Company</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 31; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->31<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zMyaT089AjJl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of assets acquired and liabilities assumed was based on a preliminary valuation, and our estimates and assumptions are subject
to change within the measurement period. The primary area that remains preliminary relates to the evaluation of certain tax-related items
and potential minor adjustments to the purchase consideration. The total purchase consideration was allocated to the assets acquired
and liabilities assumed as set forth below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zeoPe8gqz1z8" style="display: none">Schedule
of Assets and Liabilities assumed</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%">Fair value of common shares issued</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_c20210101__20211231_zSIcX0lehjo7" title="Stock issued during period, value acquisitions" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueAcquisitions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,160,223</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Payable to shareholder</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--PaymentsToShareHoldersValueAcquisitions_c20210101__20211231_zi5fQ801MlCl" title="Payable to shareholders" style="text-align: right"><ix:nonFraction name="CODX:PaymentsToShareHoldersValueAcquisitions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Fair value of contingent shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ContingentConsiderationClassifiedAsEquityFairValueDisclosure_iI_c20211231_zbGT0x0sHfO6" title="Fair value of contingent shares" style="text-align: right"><ix:nonFraction name="us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,684,669</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Fair value of contingent warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--WarrantsNotSettleableInCashFairValueDisclosure_iI_c20211231_zg5LBND20pgi" title="Fair value of contingent warrants" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:WarrantsNotSettleableInCashFairValueDisclosure" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,747,972</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Total fair value of consideration transferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--BusinessCombinationConsiderationTransferred1_c20210101__20211231_zqy6Oz1sPUT8" title="Business combination, consideration transferred" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,692,864</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Identifiable assets acquired and liabilities assumed</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_c20211231_zGNojNKtPf72" title="Cash" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,196,243</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_c20211231_ze2sYQxhW1ke" title="Accounts receivables" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">31,170</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses and other current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_c20211231_zGXKFTbAYHW7" title="Prepaid expenses and other current assets" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">70,321</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_c20211231_zi1OLYEu7oh7" title="Property and equipments" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">408,173</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Technology - In-process research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_iI_c20211231_zTnyCjuBKxf2" title="Research and development in process" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,101,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Non-competition agreements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_iI_c20211231_zGl0giuVRrzj" title="Non competition agreements" style="text-align: right"><ix:nonFraction name="CODX:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,094,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts payable and accrued other expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_iNI_di_c20211231_zqxRfssFTrC5" title="Accounts payable and accrued other expenses" style="text-align: right">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,069,274</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Deferred tax liability</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNI_di_c20211231_z6VgxFRsjupb" title="Deferred tax liability" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,845,587</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total identifiable net assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iI_c20211231_zJ4NWXt1iuhe" title="Total indentifiable net assets" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">20,986,046</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Goodwill</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--Goodwill_iI_c20211231_zeRGg1Z3UsIb" title="Goodwill" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,706,818</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_c20211231_zmsfl4YhDPm4" title="Total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,692,864</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A2_zOc46Aygogt7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
excess of the purchase price over the net assets acquired was recorded as goodwill. Goodwill generated from the acquisition is primarily
attributable to assembled workforce and expected growth from future technologies, sales to future customers and buyer specific synergies.
Goodwill will not be amortized but instead will be tested for impairment at least annually and more frequently if certain indicators
of impairment are present. As a result of the structure of the transaction, the balance of goodwill is not amortizable for tax purposes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
in-process research and development is considered an indefinite-lived intangible until the completion or abandonment of the research
and development activities. The non-competition agreements are being amortized over a range of <span id="xdx_90A_eus-gaap--FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_dtY_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_zVtQOn4WrEk6" title="Finite lived intangible assets  remaining amortization period"><ix:nonNumeric contextRef="From2021-01-012021-12-31_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1">1.5</ix:nonNumeric></span> to <span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_dtY_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zEYmOMI4xljc" title="Finite lived intangible assets  remaining amortization period"><ix:nonNumeric contextRef="From2021-01-012021-12-31_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1">3</ix:nonNumeric></span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
the acquisition was completed on December 31, 2021, the acquired entities did not contribute to the net revenues or to the net income
of the Company during the year ended December 31, 2021. Pro forma revenue and results of operations have not been presented because the
historical results of ACI and IdMo are not material to the Company&#8217;s consolidated financial statements in any period presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:FairValueDisclosuresTextBlock"><p id="xdx_806_eus-gaap--FairValueDisclosuresTextBlock_z1iCfsL3Q5Rj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4 &#8211; <span id="xdx_823_zkSlaXpyiyE6">Fair Value Measurements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company measures and records certain financial assets and liabilities at fair value on a recurring basis. Fair value is based on the
price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants
at the measurement date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following three levels of inputs are used to measure the fair value of financial assets and liabilities:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
1: Quoted market prices in active markets for identical assets or liabilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
3: Unobservable inputs that are not corroborated by market data.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 32; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->32<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock"><p id="xdx_899_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zg3518j0zJu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2021 and December
31, 2020, by level within the fair value hierarchy:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_zk6XPsLODpu4" style="display: none">Schedule
of Fair Value Assets and Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt">Marketable securities (certificates of deposit)</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zm7IeHnuO84l" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0642">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zCqDuq7BltPl" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,266</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_z7wCOg6TwcJi" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0646">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_z6Xoq3Z3h7je" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,266</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6HnSJMIP3mj" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0650">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zLfFapCIYSqc" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,266</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zynnaJbelf5d" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0654">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zxvCqoqI6Dy9" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,255,266</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYk3TzBox34f" title="Contingent consideration common stock" style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0658">&#160;</span>-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_zeZSA6wQIdpj" title="Contingent consideration common stock" style="text-align: right">&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0660">&#160;</span>-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_z4QZ151PvwFd" title="Contingent consideration common stock" style="text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member6328609" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,684,669</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zdqcT2CDIQme" title="Contingent consideration common stock" style="text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToCommonStock" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,684,669</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zlHrQECDYw94" title="Contingent consideration warrants" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0666">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_ztTWsXCnviIi" title="Contingent consideration warrants" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0668">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zJcjuEjSz3Cb" title="Contingent consideration warrants" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member6328609" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,747,972</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zzP0EQYdyFqe" title="Contingent consideration warrants" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:FairValueOfContingentConsiderationToWarrants" contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,747,972</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYRGy7WS1HRk" title="Total liabilities measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0674">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_z3seBkcPLFj9" title="Total liabilities measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0676">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zbuLevT9KIs1" title="Total liabilities measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member6328640" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,432,641</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231_zyrzveZsO1g2" title="Total liabilities measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesFairValueDisclosure" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,432,641</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Assets:</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt">Marketable securities (certificates of deposit)</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPH6PGBvZ6Df" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0682">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_pp0p0_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z9waNpLhGPM2" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,335,446</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zUg4dE2FzKYh" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0686">&#160;</span>-</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zQdEXYyHuO3k" title="Marketable securities (certificates of deposit)" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right"><ix:nonFraction name="us-gaap:MarketableSecurities" contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,335,446</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zl7q8y6J9524" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0690">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQU0EDOER2Yb" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2020-12-31_us-gaap_FairValueInputsLevel2Member" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,335,446</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zh2fpC3Hn111" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0694">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zOoP6mVLysw6" title="Total assets measured at fair value" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AssetsFairValueDisclosure" contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,335,446</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_zG1dlgIKWdCa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s financial instruments that are measured at fair value on a recurring basis consist of certificates of deposit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the acquisitions of Idaho Molecular, Inc and Advanced Conceptions, Inc. on December 31, 2021, the Company recorded a
liability for contingent consideration in the form of shares of common stock and warrants to purchase common stock. The fair value of
contingent consideration is calculated using a discounted probability weighted valuation model. Discount rates used in such calculation
are a significant assumption that are not observed in the market, and therefore, the resulting fair value represents a Level 3 measurement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock"><p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zGT36wByptkd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes for Level 3 items measured at fair value on a recurring basis are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 60pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_zVVMJuliFhc4" style="display: none">Schedule
of Changes in Fair Value Measurement</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Fair value as of December 31, 2020</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_c20210101__20211231_z49DilL36i9d" title="Asset acquisition contingent consideration liability noncurrent" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0700">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 70%; text-align: left; padding-bottom: 1.5pt">Contingent considered issued for business acquisitions</td><td style="width: 10%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td id="xdx_98C_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_c20210101__20211231_z8ovD4Tn2RPb" title="Contingent considered issued for business acquisitions" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right"><ix:nonFraction name="CODX:ContingentConsideredIssuedForBusinessAcquisitions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,432,641</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Fair value as of December 31, 2021</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_c20210101__20211231_z5RrSc3eUMj1" title="Asset acquisition contingent consideration liability noncurrent" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,432,641</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_zEzlIbdnJhUl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the contingent consideration is based on the fair value of the contingent consideration-common stock and contingent consideration-warrants.
The fair value of the contingent consideration-common stock is equal to the probability-adjusted value of the Company&#8217;s common
stock as of December 31, 2021. The fair value of the contingent consideration-warrants is equal to the probability adjusted value of
a call option with terms consistent with the terms of the warrants as of December 31, 2021. Prior to the probability adjustments,
the warrants were valued based on the following inputs:</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock"><p id="xdx_892_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zpiccZIH1lX8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;<span id="xdx_8BF_zg3exvZ9JGB1" style="display: none">Schedule
of Contingent Consideration Common Stock and Warrants</span></b></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zpuruaDolIf3" title="Warrants measurement input" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">8.93</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Strike price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zK3cVOifFAp2" title="Warrants measurement input" style="text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2021-12-31_custom_MeasurementInputStrikePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">9.13</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zDS5whyEkeba" title="Warrants measurement input" style="text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2021-12-31_us-gaap_MeasurementInputPriceVolatilityMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">80.00</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zzLfu533sbb1" title="Warrants measurement input" style="text-align: right"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2021-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">1.30</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20211231_zYjxs60AwO13" title="Warrants measurement, term" style="text-align: right"><ix:nonNumeric contextRef="AsOf2021-12-31" format="ixt-sec:duryear" name="us-gaap:WarrantsAndRightsOutstandingTerm">5.0</ix:nonNumeric></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>


<ix:exclude><!-- Field: Page; Sequence: 33; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->33<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to calculate the probability-adjusted value of the contingent consideration-common stock and contingent consideration-warrants,
the Company estimated the probability of achieving certain milestones, which include regulatory approval for identified products, as
well as production and net revenue targets. The probability of achieving the milestone related to net revenues was estimated using a
Monte Carlo simulation valuation model. The unobservable significant inputs to the valuation model were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zqLXGv2Ta1o1" title="Business combination,contingent consideration" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">8.93</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zByYSoOk6oQg" title="Business combination,contingent consideration" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">1.30</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_dtY_c20210101__20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zhxoYlmhDPb6" title="Business combination,contingent consideration, term" style="text-align: right"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_MeasurementInputExpectedTermMember" format="ixt-sec:duryear" name="CODX:BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm">5.0</ix:nonNumeric></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Weighted-average cost of capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputCostOfCapitalMember_zhImkEGhNGik" title="Business combination,contingent consideration" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_custom_MeasurementInputCostOfCapitalMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">27.00</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Revenue discount rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputDiscountRateMember_zfdaih8MKiT" title="Business combination,contingent consideration" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_us-gaap_MeasurementInputDiscountRateMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">9.50</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Equity volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputEquityVolatilityMember_z3wiMDKAyeYl" title="Business combination,contingent consideration" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_custom_MeasurementInputEquityVolatilityMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">80.00</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Asset volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputAssetVolatilityMember_zKh26MPjAQJf" title="Business combination,contingent consideration" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_custom_MeasurementInputAssetVolatilityMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">80.00</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Revenue volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputRevenueVolatilityMember_zIA2hopBBqu5" title="Business combination,contingent consideration" style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput" contextRef="AsOf2021-12-31_custom_MeasurementInputRevenueVolatilityMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">30.00</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AB_zXl1kPOQIsf9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of Other Financial Instruments</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
carrying amounts of certain financial instruments, including cash held in banks, accounts receivable, notes receivable, accounts
payable, accrued liabilities, and other liabilities approximate fair value due to their short-term maturities and are excluded from the
fair value tables above.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_80B_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zJjfcIilwCad" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5 &#8211; <span id="xdx_829_zzQlfl7DAI3j">Property and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_897_eus-gaap--PropertyPlantAndEquipmentTextBlock_zzfakGPSbbZ7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B2_zy1zjPnolAQ5" style="display: none">Schedule
of Property and Equipment</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Estimated</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Useful Lives in</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"> years</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Lab equipment</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zNniGUOQicck" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">3</ix:nonNumeric></span> - <span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zJGJROUIiIW4" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">5</ix:nonNumeric></span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zyxa7hrqCF5a" title="Property and equipment, gross" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_EquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,476,813</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUlt3xTtZVyc" title="Property and equipment, gross" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2020-12-31_us-gaap_EquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,212,561</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span id="xdx_901_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember_zNULZkEtwQrb" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">3</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zzhrcHbgJoW2" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,157</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zpFDJhQEo1L2" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2020-12-31_us-gaap_LeaseholdImprovementsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,157</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment, furniture and other</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zncZHGcsMuUa" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">2</ix:nonNumeric></span> - <span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zRH8d9wLg5Ie" title="Property and equipment estimated useful lives"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife">5</ix:nonNumeric></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z85W0rrp8qb2" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2021-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">75,401</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zHchHySF6Cle" title="Property and equipment, gross" style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2020-12-31_us-gaap_OfficeEquipmentMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">38,344</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20211231_zBLmx7MmkOsb" title="Less: accumulated depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">622,155</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_c20201231_zpeyTiXyNv0j" title="Less: accumulated depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">304,423</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Fixed assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20211231_zDONMh3Xgju6" title="Property and equipment, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,933,216</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20201231_z37SNkZS9PWc" title="Property and equipment, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">949,639</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>
<!-- Field: Split-Segment; Name: 001 -->
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock"><p id="xdx_805_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zPFt9bNwaaqf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6 - <span id="xdx_822_zOaAf6VKzWjd">Goodwill and Intangible Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock"><p id="xdx_891_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zeNyMQmly8Jg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zfSS8lkfInfh" style="display: none">Schedule
of Intangible Assets&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Estimated</p>
                                                                             <p style="margin-top: 0; margin-bottom: 0">Useful Lives in</p></td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"> years</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_900_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zZkP100aPyHj" title="Estimated useful lives in years, term"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_InProcessResearchAndDevelopmentMember" name="CODX:IndefiniteLivedIntangibleAssetUsefulLife">Indefinite</ix:nonNumeric></span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zFFc1TBbJ6V2" title="In-process research and development" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2021-12-31_us-gaap_InProcessResearchAndDevelopmentMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,101,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zx0JyuIxVM0l" title="In-process research and development" style="width: 14%; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0776">&#160;</span>-</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-competition agreements</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MinimumMember_z0nE4Iciziyh" title="Estimated useful lives in years"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MinimumMember" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">1.5</ix:nonNumeric></span> - <span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MaximumMember_zVCzUdDeh1X6" title="Estimated useful lives in years"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MaximumMember" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife">3</ix:nonNumeric></span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z0ct4haYeGdh" title="Intangible assets, gross" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2021-12-31_us-gaap_NoncompeteAgreementsMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,094,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zSWyJSmq9b11" title="Intangible assets, gross" style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0784">&#160;</span>-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20211231_zGxKLBIPuvC7" title="Less accumulated amortization" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0786">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20201231_z1WvsPw8pgU2" title="Less accumulated amortization" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0788">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Intangible assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;&#160;&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20211231_zMlPqCzdqqMc" title="Intangible assets, net" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,195,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20201231_zaIAespoONp6" title="Intangible assets, net" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0792">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8AA_zPTFb18WFdQi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 34; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->34<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><p id="xdx_89B_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zOKhJOm1KDea" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
expected future annual amortization expense of the Company&#8217;s intangible assets held as of December 31, 2021 is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zhPshHDKSjQ" style="display: none">Schedule
of Future Amortization Expense&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Year Ending December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_497_20211231_zfXPLwjYghHl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization Expense</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zkzwNNo6wvHc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 82%; text-align: justify">2022</td><td style="width: 1%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">426,660</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_maFLIANzZiM_zsNyTlL51H4l" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">2023</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">364,668</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_maFLIANzZiM_zEDuaMmD2ij3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">2024</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">302,672</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zYX5bQAZUU7f" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: justify">Total</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,094,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_zkTIvoBIJfKk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company had goodwill of $14.7 million as of December 31, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"><p id="xdx_80B_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zFtms4aNHs8h" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7 - <span id="xdx_821_ziSvSWd3xiG3">Accrued Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock"><p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zWQp8db5wvEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zDDUqS16gCb8" style="display: none">Schedule
of Accrued Expenses&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20211231_zl6ck8a2cjxj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20201231_zi31yqBf6Ou6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zx42ewj43lcc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Payroll liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccruedPayrollTaxesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,455,694</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccruedPayrollTaxesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,627,957</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zfJD04nhz7ph" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributor commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedSalesCommissionCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">509,500</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedSalesCommissionCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,070,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--SalesAndExciseTaxPayableCurrent_iI_maALCzYz0_zhE8UR6SOb8e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sales tax payable</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0814">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalesAndExciseTaxPayableCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,526</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zVSFpBgVk595" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Other accrued liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">894,458</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">99,020</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AccruedLiabilitiesCurrent_iI_mtALCzYz0_zQjgyzUd6S43" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total accrued expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,859,652</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,849,503</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_zHqE8YTmaKZa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:RevenueFromContractWithCustomerTextBlock"><p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zorGJIRAl7F8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8 &#8211; <span id="xdx_82E_zQkTW0C0r8lc">Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"><p id="xdx_894_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zpip6n1ibdk7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth revenue by geographic area:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BD_z9EhQeIhXaL" style="display: none">Summary of Revenue by Geographic Area&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">United States</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember_zpwoleb2rDB5" title="Revenue" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2021-01-012021-12-31_srt_AmericasMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,185,812</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember_zyrCmUYDzw1c" title="Revenue" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2020-01-012020-12-31_srt_AmericasMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">44,862,751</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Rest of World</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zyZkp1E9pYjj" title="Revenue" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2021-01-012021-12-31_custom_RestOfWorldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">45,699,791</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zPti5VVvAdS" title="Revenue" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2020-01-012020-12-31_custom_RestOfWorldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">29,690,007</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231_zuARGY6k0p5k" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">97,885,603</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231_zH7M22x6oZw6" title="Revenue" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">74,552,758</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Percentage of revenue by area:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJazHFVJeNog" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">53</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_z0skdzkf6pv1" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2020-01-012020-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">60</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zZcS9rKfGLzf" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2021-01-012021-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">47</ix:nonFraction></td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zRaUBOXchH1h" title="Percentage of revenue" style="text-align: right"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2020-01-012020-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">40</ix:nonFraction></td><td style="text-align: left">%</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AE_z13JKgCFvti8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Deferred
Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock"><p id="xdx_899_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zsvRzQTqXeyj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in the Company&#8217;s deferred revenue balance for the years ended December 31, 2021 and 2020 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8B8_zNakCKApdiZe" style="display: none">Schedule of Deferred Revenue</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance as of December 31, 2019</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--ContractWithCustomerLiability_iS_c20200101__20201231_zUENGvoZtdNa" title="Deferred revenue, beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,323</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Revenue recognized included in deferred revenue balance at the beginning of the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20200101__20201231_zRVBGf26lXMg" title="Revenue recognized included in deferred revenue balance at the beginning of the period" style="text-align: right">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,323</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Increase due to prepayments from customers</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20200101__20201231_zqdmOB9VOj21" title="Increase due to prepayments from customers" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="CODX:IncreaseDueToPrepaymentsFromCustomers" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">305,307</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance as of December 31, 2020</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ContractWithCustomerLiability_iS_c20210101__20211231_zNvzN7EmUmq2" title="Deferred revenue, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">305,307</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Revenue recognized included in deferred revenue balance at the beginning of the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20210101__20211231_z5acRrjLtM6e" title="Revenue recognized included in deferred revenue balance at the beginning of the period" style="text-align: right">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">256,110</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Increase due to prepayments from customers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20210101__20211231_ztHqSI9pUlYf" title="Increase due to prepayments from customers" style="text-align: right"><ix:nonFraction name="CODX:IncreaseDueToPrepaymentsFromCustomers" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">79,213</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Increase due to note receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--IncreaseDueToNoteReceivable_c20210101__20211231_zePfxnIws6wj" title="Increase due to note receivable" style="text-align: right"><ix:nonFraction name="CODX:IncreaseDueToNoteReceivable" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Decrease due to refunds to customers and application to open balances</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_iN_di_c20210101__20211231_zhcNQNX5TXfa" title="Decrease due to refunds to customers and application to open balances" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="CODX:DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">128,410</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2021</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--ContractWithCustomerLiability_iE_c20210101__20211231_z9H33Mb2t3Sh" title="Deferred revenue, Ending balance" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AD_zlvNd94oh9nj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company expects to perform its performance obligation and recognize the deferred revenue as revenue during the year ended December 31,
2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 35; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->35<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_80A_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z48NcTXgWjXj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9 &#8211; <span id="xdx_828_ze2cvoPCZrp8">Stockholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Common
Stock </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zLqBdEy1tMql"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2021-01-012021-12-31_custom_OptionsMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">189,225</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock upon the exercise of options
and received $<span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zcUwNNIx9Cqd"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2021-01-012021-12-31_custom_OptionsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">450,398</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">in proceeds from the exercises.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20210101__20211231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember_z1DKFm6dXw4i" title="Number of shares issued for services"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2021-01-012021-12-31_custom_ThirdPartiesMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,548</ix:nonFraction></span> shares of common stock for services provided by third parties primarily related
to investor relations services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_903_ecustom--StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_c20210101__20211231_zGxhjGbvD5Vj" title="Vest and restricted stock units"><ix:nonFraction name="CODX:StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">438,502</ix:nonFraction></span> shares of common stock upon the vest and release of restricted stock units.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zOSUkQtjXoUc"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesAcquisitions" contextRef="From2021-01-012021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">4,628,554</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock related to the acquisitions
of Idaho Molecular, Inc. and Advanced Conceptions, Inc., <span id="xdx_90D_ecustom--StockIssuedDuringPeriodSharesForfeited_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zLdSlms7NrFf"><ix:nonFraction name="CODX:StockIssuedDuringPeriodSharesForfeited" contextRef="From2021-01-012021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,390,430</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of which are subject to forfeiture in favor
of the Company if certain milestones are not achieved on or before January 1, 2027.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company completed the sale of <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zlSbnq7H0Kof" title="Number of common stock issued"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,448,278</ix:nonFraction></span> shares of the Company&#8217;s common stock, par value $<span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zlZDEnJOMvEc" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2020-12-31_custom_CommonStockThreeMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></span>
per share, at a purchase price of $<span id="xdx_908_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zkLxeM85Aymb" title="Sale of common stock purchase price per shares"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2020-12-31_custom_CommonStockThreeMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.45</ix:nonFraction></span> per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $<span id="xdx_903_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_z2wEgbbM3iyd" title="Issuance of common stock gross proceeds"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,000,003</ix:nonFraction></span> and the Company received net proceeds of $<span id="xdx_909_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zACC5RFATpwj" title="Net proceeds from issuance of common stock"><ix:nonFraction name="CODX:NetProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,517,102</ix:nonFraction></span> after deducting offering costs of $<span id="xdx_901_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zYzJODETjTc4" title="Offering costs"><ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">482,901</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company completed the sale of <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zpkpnaTlhdvf" title="Number of common stock issued"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">3,324,676</ix:nonFraction></span> shares of the Company&#8217;s common stock, par value $<span id="xdx_90A_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zZgoJlDFdRba" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2020-12-31_custom_CommonStockOneMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></span>
per share, at a purchase price of $<span id="xdx_907_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_z5XsTcrWurD2" title="Sale of common stock purchase price per shares"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2020-12-31_custom_CommonStockOneMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.08</ix:nonFraction></span> per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $<span id="xdx_908_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zgDrmqSDjG04" title="Issuance of common stock gross proceeds"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,240,002</ix:nonFraction></span> and the Company received net proceeds of $<span id="xdx_90B_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zIbC0SuOLBS9" title="Net proceeds from issuance of common stock"><ix:nonFraction name="CODX:NetProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,612,561</ix:nonFraction></span> after deducting offering costs of $<span id="xdx_90C_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zodV0FCCw68l" title="Offering costs"><ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">627,441</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company completed the sale of <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zkcHULtzhQY2" title="Number of common stock issued"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">470,000</ix:nonFraction></span> shares of the Company&#8217;s common stock, par value $<span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zGB5ILDff8G2" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2020-12-31_custom_CommonStockTwoMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></span>
per share, at a purchase price of $<span id="xdx_900_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zUw8cHWquFme" title="Sale of common stock purchase price per shares"><ix:nonFraction name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2020-12-31_custom_CommonStockTwoMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">9.00</ix:nonFraction></span> per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $<span id="xdx_90A_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zLrXHfEtQJw3" title="Issuance of common stock gross proceeds"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,230,000</ix:nonFraction></span> and the Company received net proceeds of $<span id="xdx_90F_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zHxGU7Jd0vZb" title="Net proceeds from issuance of common stock"><ix:nonFraction name="CODX:NetProceedsFromIssuanceOfCommonStock" contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,882,420</ix:nonFraction></span> after deducting offering costs of $<span id="xdx_904_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zjk8UNZ7qztl" title="Offering costs"><ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">347,580</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued an aggregate of <span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20200101__20201231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--ConvertiblePreferredStockMember_zRkvveTDvmT4" title="Potentially dilutive shares"><span title="Potentially dilutive shares"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,133,333</ix:nonFraction></span></span> shares of common stock upon conversion of all of the Company&#8217;s
convertible preferred stock outstanding as of December 31, 2019.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz5zH3mbLDil" title="Number of shares issued for exercise of options"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">856,660</ix:nonFraction></span> shares of common stock upon the exercise of warrants and received $<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z2lgDEI3Zf85" title="Number of shares issued for exercise of options, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">270,000</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued <span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zX2gmtVSn0hf"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2020-01-012020-12-31_custom_OptionsMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">871,229</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock upon the exercise of options
and received $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zl1ciwHuKjFl"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="From2020-01-012020-12-31_custom_OptionsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,460,600</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20200101__20201231__srt--ProductOrServiceAxis__custom--InvestmentRelationsServicesMember_zytGZOucaNGa" title="Number of shares issued for services"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2020-01-012020-12-31_custom_InvestmentRelationsServicesMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">83,935</ix:nonFraction></span> shares of common stock for services provided by third parties primarily related
to investor relations services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 36; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->36<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:EarningsPerShareTextBlock"><p id="xdx_80B_eus-gaap--EarningsPerShareTextBlock_zPlO6JEBOXA1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10 &#8211; <span id="xdx_822_zvurEZf7HrH2">Earnings per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"><p id="xdx_898_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zvjSVyVnsKN7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zuko8FVVHRHe" style="display: none">Schedule of Basic and Diluted Earnings Per Share&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20210101__20211231_zZGyLnlyehR1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20200101__20201231_z5rflwldMre6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Numerator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetIncomeLoss_zFxZyDWSm9Tj" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-bottom: 2.5pt">Net income, as reported</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,658,564</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">42,478,529</ix:nonFraction></td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--WeightedAverageNumberOfBasicSharesOutstanding_z9rDjysXCQjl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares, basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:WeightedAverageNumberOfBasicSharesOutstanding" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,874,555</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:WeightedAverageNumberOfBasicSharesOutstanding" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">26,720,133</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_zeyOWIHhGcR" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Dilutive effect of stock options, warrants and RSUs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,029,131</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,280,208</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z1WOt8gJsnCg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Shares used to compute diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">29,903,686</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">28,000,341</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EarningsBasicPerShare_pid_zwjmKUucUBMk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="CODX:EarningsBasicPerShare" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.27</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="CODX:EarningsBasicPerShare" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.59</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zu3nZxnifDu1" style="vertical-align: bottom; background-color: White">
    <td>Diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.23</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.52</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8A1_zqVbragJJJdf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the years ended December 31, 2021 and 2020, respectively, potentially dilutive securities of <span id="xdx_90A_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20211231_zdl5scLQdEdb" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">154,644</ix:nonFraction> </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and <span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20200101__20201231_zxI5n202v1vh" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000</ix:nonFraction> </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">were
excluded from the computation of diluted earnings per share because the effect would have been anti-dilutive. The computation of
diluted earnings per share for the year ended December 31, 2021 also excludes the approximately <span id="xdx_907_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zwEZQeLBALWe" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="Shares">1.4</ix:nonFraction></span> million shares of common stock
and approximately <span id="xdx_90B_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1rWnBfHdjtl" title="Securities excluded from computation of diluted earnings per share"><ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2021-01-012021-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">456,000</ix:nonFraction></span> warrants to purchase shares of common stock mentioned in Note 3 that are contingent upon the achievement
of certain milestones.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock"><p id="xdx_804_eus-gaap--DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_zqgYsPW32A6d" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11 &#8211; <span id="xdx_82B_zmXv6YJ17NRb">Stock-Based Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Incentive Plans</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Co-Diagnostics, Inc. 2015 Long Term Incentive Plan (the &#8220;Incentive Plan&#8221;) reserves an aggregate of <span id="xdx_90F_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20211231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zQYDjqMWpgvk" title="Aggregate number of common shares reserved"><ix:nonFraction name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" contextRef="AsOf2021-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">6,000,000</ix:nonFraction></span> shares of common
stock issuable upon the grant of awards under the Incentive Plan. The number of awards available for issuance under the Incentive Plan
was <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20211231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zVvIVWFIoF1l" title="Number of common shares availalble for issuance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2021-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,095,266</ix:nonFraction></span> at December 31, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 37; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->37<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Options</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_89E_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMfb86rXn0r7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes option activity during the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BC_z03x74Z7fs93" style="display: none">Schedule of Option Activity&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;&#160;&#160;&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Options</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2019</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20200101__20201231_ztdVRq5N7rE8" title="Number of Options Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">2,021,817</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20200101__20201231_zZWf6QXaooHk" title="Weighted Average Exercise Price Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.69</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231_zf1NGllhgP23" title="Weighted Average Fair Value Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.83</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20200101__20201231_z59B0Xpb03oc" title="Number of Options Outstanding, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">150,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_znF4tsjzrcUh" title="Weighted Average Exercise Price Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.14</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zWjTCvmZ7Mwk" title="Weighted Average Fair Value Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.74</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20200101__20201231_zT3WstzYKuwf" title="Number of Options Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0973">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zmP4Yj006WC3" title="Weighted Average Exercise Price Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0975">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20200101__20201231_z0JCWPwmbCAj" title="Weighted Average Fair Value Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0977">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20200101__20201231_zsFbtyYEgiH2" title="Number of Options Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0979">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_zLYxE78b8gDf" title="Weighted Average Exercise Price Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0981">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_zRwwh1Ig0Wc5" title="Weighted Average Fair Value Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0983">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20200101__20201231_zHmP1kvljX9b" title="Number of Options Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="CODX:StockIssuedDuringPeriodSharesStockOptionsExercised1" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">871,229</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20200101__20201231_zWfbptXIaKW2" title="Weighted Average Exercise Price Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.68</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20200101__20201231_z4PGQSkTTkNc" title="Weighted Average Fair Value Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.89</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20211231_zWqhIAv9C4pk" title="Number of Options Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,300,588</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20210101__20211231_zJAhXB8AAiQ3" title="Weighted Average Exercise Price Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.44</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231_zlFwd1sRp1V2" title="Weighted Average Fair Value Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.24</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20210101__20211231_zDDDwxugm0vd" title="Number of Options Outstanding, Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0997">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zjOw7uQYPt3h" title="Weighted Average Exercise Price Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0999">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_z5RLnB4mfnCi" title="Weighted Average Fair Value Granted" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1001">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20211231_zwUUtk5ntwy9" title="Number of Options Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1003">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zOJoZ0jOMXB7" title="Weighted Average Exercise Price Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1005">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20210101__20211231_z53mqZjkAmVg" title="Weighted Average Fair Value Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1007">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20210101__20211231_zegbUITxxHAi" title="Number of Options Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1009">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_za8NHKjNXDy" title="Weighted Average Exercise Price Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1011">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zpW4uc6RxFL1" title="Weighted Average Fair Value Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1013">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20210101__20211231_z13yGKE6Lmmh" title="Number of Options Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="CODX:StockIssuedDuringPeriodSharesStockOptionsExercised1" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">189,225</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20210101__20211231_zXTl5utKRtvc" title="Weighted Average Exercise Price Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.38</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20210101__20211231_zWUmpRzg3FPl" title="Weighted Average Fair Value Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.12</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20211231_zF3A17QbjeMb" title="Number of Options Outstanding, Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,111,363</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zseBZ53bLYsc" title="Weighted Average Exercise Price Outstanding, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.12</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231_zbhLRzuALPce" title="Weighted Average Fair Value Outstanding, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.31</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_pid_dtY_c20210101__20211231_zugm00qLGxK1" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">6.62</ix:nonNumeric></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercisable at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20211231_z3URBBN68syl" title="Number of Options Exercisable Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,094,697</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zmeQJBC1ofd4" title="Weighted Average Exercise Price, Exercisable Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.01</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20210101__20211231_zaXDswJXKuHl" title="Weighted Average Fair Value, Exercisable Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.18</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20211231_zhvOZgXRUVD3" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">6.59</ix:nonNumeric></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8A8_zE1OF3F2TfXj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total intrinsic value of options exercised during the years ended December 31, 2021 and 2020 was approximately $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zxy1zRKyprVb"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="From2021-01-012021-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">1.3</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million and $<span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20200101__20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z5PMaPorwI71"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="From2020-01-012020-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">11.8</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million, respectively. The aggregate intrinsic
value of outstanding options at December 31, 2021 and 2020 was approximately $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z0tPjF3tE3Hl"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2021-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">7.6</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million and $<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zCDasHp5jsf8"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2020-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">7.1</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million, respectively.
As of December 31, 2021, there were <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iI_pid_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zrGZd6zl9eVb" title="Unvested options"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" contextRef="AsOf2021-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">16,666</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">unvested options and $<span id="xdx_902_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pip0_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z2sZOlVw1Usj" title="Unrecognized stock-based compensation"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2021-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">78,115</ix:nonFraction>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of unrecognized stock-based compensation
expense related to options. The unrecognized stock-based compensation expense is expected to be recognized over <span id="xdx_909_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zqfFLx4WXpgf" title="Unrecognized stock-based compensation recognition period"><ix:nonNumeric contextRef="From2021-01-012021-12-31_custom_StockOptionsMember" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">0.5</ix:nonNumeric>
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock-based
compensation cost is measured at the grant date based on the fair value of the award granted and recognized as expense over the vesting
period using the straight-line method. The Company uses the Black-Scholes model to value options granted. The following weighted average
assumptions were used in estimating the grant date fair value of options:</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><p id="xdx_89D_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zuQMSoTypzkk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8B5_zGZYUBOR4y57" style="display: none">Schedule of Fair Value of Options Weighted Average Assumptions</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Risk-free interest rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_uPure_c20210101__20211231_zXvOiKUIXLSg" title="Risk-free interest rate"><span style="-sec-ix-hidden: xdx2ixbrl1049">-</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20200101__20201231_zqFi97nu0QEk" title="Risk-free interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.05</ix:nonFraction></span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected life (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_c20210101__20211231_z4MN2Gzt3Mq7" title="Expected life (years)"><span style="-sec-ix-hidden: xdx2ixbrl1053">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20200101__20201231_z9SGo41sCH01" title="Expected life (years)"><ix:nonNumeric contextRef="From2020-01-012020-12-31" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">7.3</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_uPure_c20210101__20211231_z3M9emPm5qn4" title="Expected volatility"><span style="-sec-ix-hidden: xdx2ixbrl1057">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20200101__20201231_z7SXVIPxgUl1" title="Expected volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">62.82</ix:nonFraction></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected dividend yield</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpxL_uPure_c20210101__20211231_z9xxifgwo94f" title="Expected dividend yield" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1061">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpn_uPure_c20200101__20201231_zhbbCav9JuG2" title="Expected dividend yield" style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="From2020-01-012020-12-31" format="ixt-sec:numwordsen" decimals="INF" scale="-2" unitRef="Pure">None</ix:nonFraction></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A1_zxbuYX5Y3Gil" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>


<ix:exclude><!-- Field: Page; Sequence: 38; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->38<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Restricted
Stock Units</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"><p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zdxbdHWLfY52" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#8217;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zSPdVrsBLCA9" style="display: none">Schedule of Outstanding Restricted Stock Units and Related Activity&#160;</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of RSUs</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Grant Date Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2019</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKj7oMdvTZS" title="Number of Restricted Stock Units, Outstanding Beginning" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1067">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2KO0l2hhhge" title="Weighted Average Grant Date Fair Value, Outstanding Beginning" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1069">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: justify">Granted</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztHOH8AexPU" title="Number of Restricted Stock Units, Granted" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">549,500</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zRD8wDeHFPVg" title="Weighted Average Grant Date Fair Value, Granted" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.49</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0d2hrhaDSQ6" title="Number of Restricted Stock Units, Vested" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">27,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHwkNVsfq80e" title="Weighted Average Grant Date Fair Value, Vested" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.49</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXhA4vanc5Sb" title="Number of Restricted Stock Units, Forfeited/Cancelled" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1079">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdpgeWJJSZtc" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1081">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2020</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zpIxJz52LHOa" title="Number of Restricted Stock Units, Outstanding Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">522,500</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0k7esXOm9I9" title="Weighted Average Grant Date Fair Value, Outstanding Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.49</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOcWgmeoo1q7" title="Number of Restricted Stock Units, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,217,500</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0lhzF20z274" title="Weighted Average Grant Date Fair Value, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">9.76</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zU59ccI4xKZ7" title="Number of Restricted Stock Units, Vested" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">438,502</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zj4OBMLUd9i6" title="Weighted Average Grant Date Fair Value, Vested" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.10</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8wTTKHzZV6d" title="Number of Restricted Stock Units, Forfeited/Cancelled" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">34,083</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zfunQIOUTEY9" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">9.91</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2021</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znJYHW8cebcg" title="Number of Restricted Stock Units, Outstanding Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,267,415</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqEk7mxbcjJ3" title="Weighted Average Grant Date Fair Value, Outstanding Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">9.94</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A6_zYgWVVCbjhS" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2021, there was $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pn5n6_c20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOvpm3yhiKf8" title="Unrecognized stock-based compensation"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">11.6</ix:nonFraction></span> million of unrecognized stock-based compensation expense related to outstanding RSUs which is expected
to be recognized over a weighted-average period of <span id="xdx_90C_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znc4A15m5KW" title="Unrecognized stock-based compensation recognition period"><ix:nonNumeric contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">2.3</ix:nonNumeric></span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Warrants</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has issued warrants related to financings, acquisitions and as compensation to third parties for services provided. The Company
estimates the fair value of issued warrants on the date of issuance as determined using a Black-Scholes pricing model. The Company amortizes
the fair value of issued warrants using a vesting schedule based on the terms and conditions of each warrant if granted for services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock"><p id="xdx_89D_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zoc3OClcrw9c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes warrant activity during the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zDPlnfi3RWNk" style="display: none">Schedule of Warrant Activity&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Warrants</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2019</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20200101__20201231_zgSmBBhNcfH7" title="Number of Warrants Outstanding, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">983,535</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20200101__20201231_zTTpPpAxtjFg" title="Weighted Average Exercise Price, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.44</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20200101__20201231_zhaJPvQ9a8q1" title="Weighted Average Fair Value, Beginning" style="width: 12%; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" contextRef="AsOf2019-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.03</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20200101__20201231_zz8Ugk0nrQRl" title="Number of Warrants Outstanding, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">20,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zSBS8JTaKKuj" title="Weighted Average Exercise Price, Granted" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.40</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zYedL0cnZYEk" title="Weighted Average Fair Value, Granted" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">15.19</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20200101__20201231_zHSZza5Q46Gg" title="Number of Warrants Outstanding, Expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,090</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" title="Weighted Average Exercise Price, Expired" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">6.00</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" title="Weighted Average Fair Value, Expired" style="text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.17</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20200101__20201231_pdd" title="Number of Warrants Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1127">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" title="Weighted Average Exercise Price, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1129">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" title="Weighted Average Fair Value, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1131">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20200101__20201231_zcPYfJXd5BX1" title="Number of Warrants Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">924,445</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" title="Weighted Average Exercise Price, Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.42</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_z9m0ZiGZGdE6" title="Weighted Average Fair Value, Exercised" style="padding-bottom: 1.5pt; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.43</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20210101__20211231_z8A0MfXBQMs3" title="Number of Warrants Outstanding, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">70,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20211231_zlJurqfxwpL1" title="Weighted Average Exercise Price, Beginning" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.83</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20210101__20211231_zFA1Kkjk4hve" title="Weighted Average Fair Value, Beginning" style="text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">5.21</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20200101__20201231_zPqMwsByDKX1" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning"><ix:nonNumeric contextRef="From2020-01-012020-12-31" format="ixt-sec:duryear" name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1">3.3</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20210101__20211231_zpEOrU0KXted" title="Number of Warrants Outstanding, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">456,281</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_z93lk9ynJ1Ra" title="Weighted Average Exercise Price, Granted" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">9.13</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zbwuFdjcDFX7" title="Weighted Average Fair Value, Granted" style="text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.83</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20210101__20211231_zI0GvYE0Lli" title="Number of Warrants Outstanding, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1153">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zJ3m9g150fRb" title="Weighted Average Exercise Price, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1155">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20210101__20211231_zRryHhVq4t1i" title="Weighted Average Fair Value, Expired" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1157">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20210101__20211231_zxdYOGQuov42" title="Number of Warrants Outstanding, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1159">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_zZeNGQ4VFTl6" title="Weighted Average Exercise Price, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1161">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zLFQmA0k6r43" title="Weighted Average Fair Value, Forfeited/Cancelled" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1163">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20210101__20211231_zB6Hy9h4MgPj" title="Number of Warrants Outstanding, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1165">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20211231_zeKmnrt1D1Ac" title="Weighted Average Exercise Price, Exercised" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1167">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zNJvTxhkQiEl" title="Weighted Average Fair Value, Exercised" style="padding-bottom: 1.5pt; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1169">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20210101__20211231_zP0tRVtnrDHj" title="Number of Warrants Outstanding, Ending" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">526,281</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_c20210101__20211231_zbzTbWnfSag3" title="Weighted Average Exercise Price, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">8.15</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_980_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_c20210101__20211231_zbnXEdStRhzj" title="Weighted Average Fair Value, Ending" style="padding-bottom: 2.5pt; text-align: right"><ix:nonFraction name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.01</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right"><span id="xdx_90A_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231_z9wk49yHjIt7" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Ending"><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" format="ixt-sec:duryear" name="CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2">4.7</ix:nonNumeric></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A2_zOA32fHdf4ul" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
intrinsic value of warrants exercised during the years ended December 31, 2021 and 2020 was $<span id="xdx_90F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_ziiwU69AAvs5" title="Intrinsic value of warrants exercised"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" contextRef="From2021-01-012021-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">0</ix:nonFraction></span> and approximately $<span id="xdx_904_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20200101__20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zYr3dLcsF7o" title="Intrinsic value of warrants exercised"><ix:nonFraction name="CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" contextRef="From2020-01-012020-12-31_custom_StockOptionsMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">9.7</ix:nonFraction></span> million, respectively.
The aggregate intrinsic value of outstanding warrants at December 31, 2021 was approximately $<span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pp0p0_c20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z17zlr2H7eVl" title="Intrinsic value of options outstanding"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="AsOf2021-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">497,000</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 39; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->39<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--ClassOfWarrantExercisable_iI_c20211231_zCR4tHSVU0g4" title="Warrants exercisable"><ix:nonFraction name="CODX:ClassOfWarrantExercisable" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">70,000</ix:nonFraction></span>
warrants are exercisable at December 31, 2021. As discussed in Note 3 and Note 4, approximately <span id="xdx_907_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20211231_zIbB2J8b7as2" title="Warrants purchase"><ix:nonFraction name="us-gaap:ClassOfWarrantOrRightOutstanding" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">456,000</ix:nonFraction></span> warrants to purchase shares of
the Company&#8217;s common stock were issued in connection with the acquisition of ACI and IdMo. The ability to exercise the warrants
is contingent upon the achievement of certain development and revenue milestones on or before January 1, 2027. There was no unrecognized
stock-based compensation expense related to warrants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 4 for additional information regarding the fair value calculation of the warrants issued during the year ended December 31, 2021.
The fair values for the warrants issued during the year ended December 31, 2020 were estimated at the date of grant using the Black Scholes
model with the following weighted average assumptions:</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="CODX:ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock"><p id="xdx_89B_ecustom--ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_zqSOWiYk8mai" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span id="xdx_8B3_zwJgYjTNt9Pe" style="display: none">Schedule of Fair Value of Warrants Assumptions</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Risk-free interest rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zTa8wc1yHAq1" title="Warrants outstanding, measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2020-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">0.34</ix:nonFraction></span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected life (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_z5upFdIICx5f" title="Warrants, expected life"><ix:nonNumeric contextRef="AsOf2020-12-31_us-gaap_MeasurementInputExpectedTermMember" format="ixt-sec:duryear" name="us-gaap:WarrantsAndRightsOutstandingTerm">5.0</ix:nonNumeric></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90A_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputOptionVolatilityMember_zADCevmXEtLj" title="Warrants outstanding, measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2020-12-31_us-gaap_MeasurementInputOptionVolatilityMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Pure">61.42</ix:nonFraction></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected dividend yield</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_dn_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedDividendRateMember_zgdrggoMTiy" title="Warrants outstanding, measurement input"><ix:nonFraction name="us-gaap:WarrantsAndRightsOutstandingMeasurementInput" contextRef="AsOf2020-12-31_us-gaap_MeasurementInputExpectedDividendRateMember" format="ixt-sec:numwordsen" decimals="INF" unitRef="Pure">None</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8AF_z5u27N2jcE3j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Issued for Services</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has issued restricted stock to third parties for services provided. The grant date fair value of the restricted stock granted
is determined using the closing market price of the Company&#8217;s common stock on the grant date with the associated compensation expense
amortized over the vesting period of the stock awards. The Company issued <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20210101__20211231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zrorJRhIKQ07" title="Number of shares issued for services"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2021-01-012021-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">5,548</ix:nonFraction></span> and <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20200101__20201231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z7aVaQlQib6f" title="Number of shares issued for services"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2020-01-012020-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">83,935</ix:nonFraction></span> shares of restricted stock for services during
the years ended December 31, 2021 and 2020, respectively, and there was no unrecognized stock-based compensation expense related to restricted
stock issued.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock-Based
Compensation Expense</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zYppEJUwsZDl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognized stock-based compensation expense related to the types of awards discussed above as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_z4J5iA0u0fxf" style="display: none">Schedule of Recognized Stock-based Compensation Expense&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20210101__20211231_zT4Hf0hlHu41" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20200101__20201231_zxacGCeS2hB5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMscvFbk3PUc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Options</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">292,754</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2020-01-012020-12-31_us-gaap_EmployeeStockOptionMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">901,345</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvvTXrYkiacd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Restricted stock units</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,164,750</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,861</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z9i08GP7cQDd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Warrants</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1211">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2020-01-012020-12-31_us-gaap_WarrantMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">303,802</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--StockCompensationPlanMember_zHVTkU2ozsn1" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2021-01-012021-12-31_us-gaap_StockCompensationPlanMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">51,900</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2020-01-012020-12-31_us-gaap_StockCompensationPlanMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,032,033</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_zeM83qAn8CVi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total stock-based compensation expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,509,404</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,738,041</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A4_zDMo5YgxXMig" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 40; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->40<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:IncomeTaxDisclosureTextBlock"><p id="xdx_805_eus-gaap--IncomeTaxDisclosureTextBlock_zaJ9u6yheya5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
12 &#8211; <span id="xdx_829_zk712nVAcEcg">Income Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"><p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zTKXUnErz1fa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the provision for income taxes consists of the following for the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_z7Cp1oOGdV0i" style="display: none">Schedule
of Components Income Tax Provision</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20210101__20211231_zShenNxzG1c8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20200101__20201231_z2PbwxMbRZt1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zzWXkxpJ1Uog" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Current:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zM0KfOCi5CIf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%">Federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,092,730</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1228">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zVqlAThyPHG1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">886,173</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">637,760</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zOBsNLOVyZB4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total current</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,978,903</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">637,760</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zykaTr8BkKGh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Deferred:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zYzLaIbsrmd6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,394,686</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">452,544</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zztA6NM79arb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">603,642</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">94,680</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_mtDFSALzrPD_maITEBzvit_z0q8kKyykqu9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,998,328</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">547,224</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zP1MFqpfiuT" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income tax expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,977,231</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">90,536</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


</ix:nonNumeric><p id="xdx_8A3_z1mePTVWcASi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"><p id="xdx_899_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zvzNopN7hBW8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zaoIomXFB0K2" style="display: none">Schedule
of Benefit from Income Taxes and Effective Tax Rates</span><span></span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20210101__20211231_z6980I8hDI6g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20200101__20201231_zHgGNEOhd5ol" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_zXpdCr0b1Na6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Federal income tax expense at statutory rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21.0</ix:nonFraction></td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">21.0</ix:nonFraction></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_z43tTiqrxf6a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State income tax expense, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.9</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.3</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zd3FK1leP3Ig" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Permanent differences:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_i01_dp_uPure_z072WVQLRVM3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">- Foreign derived intangible income deduction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">3.5</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">1.7</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01_dp_uPure_zoaAMt4usOA6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">- Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0.2</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">8.8</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_zNUDpmBZLhVd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">- Other permanent differences</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0.3</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">0.4</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_zOXzPfkrL0Ga" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.6</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">2.0</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_dp_uPure_ztGJKUAy8S02" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Change in uncertain tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.4</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.1</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_dp_uPure_zGOC15NIMPec" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Change in valuation allowance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0.0</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">12.1</ix:nonFraction>)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_zjv7Wy0H8TB2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">1.0</ix:nonFraction>)</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" sign="-" unitRef="Pure">0.2</ix:nonFraction>)</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_dp_uPure_z91TLon6B3Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective income tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">19.7</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">%</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">0.2</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_z9mcYJ1gy8Qk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 41; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->41<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zo7zM9wTTR57" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
deferred tax assets consist of the following components as of December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8BE_zR77eQ2jgJHh" style="display: none">Schedule
of Deferred Tax Assets</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20211231_zRuUXuwIUBOe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20201231_zXG8j3w83SFe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zVed8GQr78j2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zUL3t1hIswf8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1291">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">37,898</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_zCvfju4P0uDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reserves and allowances</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">166,050</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,049</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zNaj9KdaNZ34" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">393,871</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">241,652</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_i01I_maDTAGzwm0_z5clgJ7hJoP1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Research and development credits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1300">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">423,001</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_msDITLzwoD_z5ZVNCX4T4kk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">559,921</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">902,600</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zBYs5mvz33Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzcCv_z8VYSyUfNLuj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">477,542</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">233,951</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzcCv_zBRpgH0PzwD1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangibles, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,743,972</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1313">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzcCv_zdpp1B28ptK2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Prepaids</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">560,093</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesPrepaidExpenses" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">66,456</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzcCv_zogUOEOWEOA5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,758</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">54,969</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_mtDITLzcCv_mtDITLzwoD_zBMEIkuZDu4e" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,788,365</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilities" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">355,376</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net deferred tax assets (liabilities)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsOther_iI_c20211231_z7QLOaeDwNB9" title="Net deferred tax assets (liabilities)" style="text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">7,228,444</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsOther_iI_c20201231_zIu00fQcG41j" title="Net deferred tax assets (liabilities)" style="text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">547,224</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsValuationAllowance_iI_zDUT23wXA6k7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1328">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1329">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax assets (liabilities)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsNet_iNI_di_c20211231_zj9KDJmsXWrb" title="Net deferred tax assets (liabilities)" style="border-bottom: Black 2.5pt double; text-align: right">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,228,444</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsNet_iI_c20201231_zV3CypcZDxS9" title="Net deferred tax assets (liabilities)" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">547,224</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A4_zcK4IhvjT9K5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">At
December 31, 2021, the Company had <span id="xdx_900_eus-gaap--OperatingLossCarryforwards_iI_do_c20211231_zUEXTNAo39Ji" title="Net operating loss carry-forwards"><ix:nonFraction name="us-gaap:OperatingLossCarryforwards" contextRef="AsOf2021-12-31" format="ixt-sec:numwordsen" decimals="0" unitRef="USD">no</ix:nonFraction></span> federal or state net operating loss carryforwards and <span id="xdx_904_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_iI_dxL_c20211231_zdNQYfU1vWod" title="Research and development credit carry forwards::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1337">no</span></span> federal or state research and development
credit carryforwards. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">As
of each reporting date, management considers new evidence, both positive and negative, that could affect its view of the future realization
of deferred tax assets. As of December 31, 2020, in part because in that year the Company achieved three years of cumulative pre-tax
income, management determined that there was sufficient positive evidence to conclude that it was more likely than not that its deferred
taxes were realizable. The Company therefore fully reduced its valuation allowance accordingly by $<span id="xdx_907_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_c20200101__20201231_zDm9TNvDXbU4" title="Deferred tax valuation allowance"><ix:nonFraction name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,161,500</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">ASC
Topic 740-10-05 requires that the impact of a tax position be recognized in the financial statements if that position is more likely
than not of being sustained on audit, based on the technical merits of the position. Our unrecognized tax benefit balances included $<span id="xdx_902_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20211231_zSG1ucZ4iKjc" title="Unrecognized tax benefits that would impact effective tax rate"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,067,853</ix:nonFraction></span>
at December 31, 2021 and $<span id="xdx_905_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20201231_zvagCgJ0Lhv3" title="Unrecognized tax benefits that would impact effective tax rate"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">447,831</ix:nonFraction></span> at December 31, 2020 of tax positions that, if recognized, would impact our effective tax rate. The
Company expects no material changes to the liability for unrecognized tax benefits in the next 12 months. Interest and penalties associated
with uncertain tax positions are recorded as a component of income tax expense. A reconciliation of the beginning and ending amount of
unrecognized benefits is as follows:</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock"><p id="xdx_89E_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_z22VrorrMuhf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_za9mSYEJIH0g" style="display: none">Schedule
of Unrecognized Tax Benefits</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Unrecognized tax benefits at the beginning of the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20210101__20211231_z2rLK0m68jT5" title="Unrecognized tax benefits at the beginning of the year" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">447,831</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--UnrecognizedTaxBenefits_iS_c20200101__20201231_zFX9j6gPsrge" title="Unrecognized tax benefits at the beginning of the year" style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1349">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross increases - current year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20210101__20211231_zErnTsgUcFtf" title="Gross increases- current year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">770,069</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20200101__20201231_z1SoVnocukT" title="Gross increases - current year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">232,145</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross increases - prior year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20210101__20211231_z3OcJzGmbz85" title="Gross increases- prior year tax positions" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1355">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20200101__20201231_ztt2M6GbsmF7" title="Gross increases - prior year tax positions" style="text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">215,686</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Gross decreases - prior year tax positions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20210101__20211231_zzOs3EuHtwoa" title="Gross decreases - prior year tax positions" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,047</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20200101__20201231_zqeqCjL4JRo9" title="Gross decreases- prior year tax positions" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1361">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Unrecognized tax benefits at end of year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--UnrecognizedTaxBenefits_iE_c20210101__20211231_zREENLBpF47e" title="Unrecognized tax benefits at end of year" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,067,853</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20200101__20201231_zSJpCk3fmkkh" title="Unrecognized tax benefits at end of year" style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" contextRef="AsOf2020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">447,831</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Interest and penalties in year-end balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20210101__20211231_z5sQtFWK2gV1" title="Interest and penalties in year-end balance" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1367">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20200101__20201231_zZ4KIHyneUth" title="Interest and penalities in year- end balance" style="border-bottom: Black 2.5pt double; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1369">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A3_z7WNCykoi0q8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 42; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->42<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is subject to taxation in the United States and other state jurisdictions. The tax years from December 31, 2017 through December
31, 2021 remain open to examination for federal income tax purposes and by the other major taxing jurisdictions to which the Company
is subject. The Company is not currently under examination by any taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock"><p id="xdx_806_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zcaJ6fsseAFa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
13 &#8211; <span id="xdx_827_zl7CfGXc9Xhg">Related Party Transactions</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company acquired the exclusive rights to the CoPrimer technology pursuant to an exclusive license agreement, dated April 2014 (the &#8220;Exclusive
License Agreement&#8221;), between the Company and DNA Logix, Inc., which was assigned to Dr. Brent Satterfield, an executive officer,
prior to the Company&#8217;s acquisition of DNA Logix, Inc. On March 1, 2017, the Company entered into an amendment to its Exclusive
License Agreement for its Cooperative Primers (&#8220;License&#8221;) technology with Dr. Satterfield. The amendment provided in part
that all accrued royalties under the License ceased as of January 1, 2017, and the Company agreed to pay to Dr. Satterfield $<span id="xdx_901_eus-gaap--AccruedRoyaltiesCurrent_iI_c20170101__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zNjZTymIIkl2" title="Accrued royalties"><ix:nonFraction name="us-gaap:AccruedRoyaltiesCurrent" contextRef="AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">700,000</ix:nonFraction></span>
of accrued royalties at the rate of $<span id="xdx_902_eus-gaap--PaymentsForRoyalties_c20170101__20170130__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zeTE9fSKO6Re" title="Payment for royalties per month"><ix:nonFraction name="us-gaap:PaymentsForRoyalties" contextRef="From2017-01-012017-01-30_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,000</ix:nonFraction></span> per month starting in January 2017. At December 31, 2021, the aggregate balance of this related
party liability was $<span id="xdx_908_eus-gaap--DueToRelatedPartiesCurrentAndNoncurrent_iI_c20211231__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zI7dC55ozIji" title="Due to related party"><ix:nonFraction name="us-gaap:DueToRelatedPartiesCurrentAndNoncurrent" contextRef="AsOf2021-12-31_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember" format="ixt:numdotdecimal" decimals="0" unitRef="USD">0</ix:nonFraction></span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock"><p id="xdx_809_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zyWzXGnIz1X5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
14 &#8211; <span id="xdx_82B_zdGMdmEjK4D4">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Lease
Obligations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s offices are located at 2401 S. Foothill Dr., Suite D, Salt Lake City, Utah 84109-1479. In February 2020, the Company
entered into a <span id="xdx_900_eus-gaap--LesseeOperatingLeaseTermOfContract_iI_dtY_c20200229_zMmnWzJ0bGQe" title="Operating lease, term"><ix:nonNumeric contextRef="AsOf2020-02-29" format="ixt-sec:duryear" name="us-gaap:LesseeOperatingLeaseTermOfContract">4</ix:nonNumeric></span>-year lease agreement for its office space and in March 2020, the Company entered into an addendum with our landlord
for additional space. The aggregate space consists of approximately <span id="xdx_902_eus-gaap--AreaOfLand_iI_uSqft_c20211231_zxmCxfnxSgl7" title="Area of land"><ix:nonFraction name="us-gaap:AreaOfLand" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" decimals="INF" unitRef="Sqft">13,687</ix:nonFraction></span> square feet at a monthly rate of $<span id="xdx_90C_eus-gaap--PaymentsForRent_c20210101__20211231_zVg4Yn7l6DCb" title="Payments for rent"><ix:nonFraction name="us-gaap:PaymentsForRent" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">28,825</ix:nonFraction></span> and expires in <span id="xdx_904_eus-gaap--LeaseExpirationDate1_dxL_c20210101__20211231_zIwM2LtuO1wc" title="Lease expiration date::XDX::2024-02-29"><span style="-sec-ix-hidden: xdx2ixbrl1387">February
2024</span></span>. As a result of business acquisitions during the year ended December 31, 2021, the Company also leases additional laboratory and
office space under two month-to-month leases. For the years ended December 31, 2021 and 2020, the Company expensed $<span id="xdx_90C_eus-gaap--LeaseAndRentalExpense_c20210101__20211231_zdYqWXwLRjd8" title="Rent expenses"><ix:nonFraction name="us-gaap:LeaseAndRentalExpense" contextRef="From2021-01-01to2021-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">346,350</ix:nonFraction></span> and $<span id="xdx_905_eus-gaap--LeaseAndRentalExpense_c20200101__20201231_zAn8BdbhBI09" title="Rent expenses"><ix:nonFraction name="us-gaap:LeaseAndRentalExpense" contextRef="From2020-01-012020-12-31" format="ixt:numdotdecimal" decimals="0" unitRef="USD">311,963</ix:nonFraction></span>,
respectively, for rent. The Company&#8217;s future minimum lease payments were as follows as of December 31, 2021:</span></p>

<ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock"><p id="xdx_89C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zJa74hmiEoC1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zUcB0xAq46F9" style="display: none">Schedule
of Future Minimum Lease Payments</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="4" style="border-bottom: Black 1.5pt solid; text-align: justify; font-weight: bold">Year Ending December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzrRH_ziBMHOHeBkXa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%; text-align: justify">2022</td><td style="width: 2%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">293,595</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzrRH_zP52gnggo36f" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">2023</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,059</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPzrRH_zDIGLmTsKza6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">2024</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">50,774</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzrRH_zrkX3FUZqnFg" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments </span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">647,428</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

</ix:nonNumeric><p id="xdx_8A0_zRuJYDZ1hGDg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Litigation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Liabilities
for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable
that a liability has been incurred and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies
are expensed as incurred.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Five
different securities class action complaints were filed in July, September and December by certain stockholders of the Company against
the Company claiming that the Company promulgated false and misleading press releases to increase the price of our stock to improperly
benefit the officers and directors of the Company. The plaintiffs demand compensatory damages sustained as a result of the Company&#8217;s
alleged wrongdoing in an amount to be proven at trial. The Company believes these lawsuits are without merit and intends to defend the
cases vigorously. The Company is unable to estimate a range of loss, if any, that could result were there to be an adverse final decision
in these cases. As of the date of this report, the Company does not believe it is probable that these cases will result in an unfavorable
outcome; however, if an unfavorable outcome were to occur in these cases, it is possible that the impact could be material to the Company&#8217;s
results of operations in the period(s) in which any such outcome becomes probable and estimable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<ix:exclude><!-- Field: Page; Sequence: 43; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->43<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page --></ix:exclude>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2021-01-01to2021-12-31" escape="true" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_806_eus-gaap--SubsequentEventsTextBlock_zHRGrULDy1Ag" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
15 &#8211; <span id="xdx_82A_zcMuOF8q4j85">Subsequent Events</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2022, the Company&#8217;s Board of Directors authorized a share repurchase program that would allow the Company to repurchase up
to $<span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_pn5n6_c20220301__20220331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zqJAGcwb79vk" title="Employee stock purchase plan"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" contextRef="From2022-03-012022-03-31_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember_srt_MaximumMember" format="ixt:numdotdecimal" decimals="-5" scale="6" unitRef="USD">30</ix:nonFraction></span> million of CODX common stock. The repurchase program does not obligate the Company to acquire any particular amount of common
shares, and the repurchase program may be suspended or discontinued at any time at the Company&#8217;s discretion. The timing and amount
of any share repurchases under the share repurchase program will be determined by Co-Diagnostics&#8217; management at its discretion
based on ongoing assessments of the capital needs of the business, the market price of the Company&#8217;s common stock, corporate and
regulatory requirements, and general market conditions. Share repurchases under the program may be made through a variety of methods,
which may include open market purchases, in block trades, accelerated share repurchase transactions, exchange transactions, the use of
trading plans intended to qualify under Rule 10b5-1 under the Securities Exchange Act of 1934, as amended, or any combination of such
methods.</span></p>

</ix:nonNumeric><p id="xdx_81A_zpQgmiIvPxed" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_014"></span>ITEM
9. CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_015"></span>ITEM
9A. CONTROLS AND PROCEDURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Evaluation
of Disclosure Controls and Procedures</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.4pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain a set of disclosure controls and procedures (as defined in Rule 13a-15(e) of the Exchange Act) designed to ensure that information
required to be disclosed in reports filed or submitted under the Exchange Act is recorded, processed, summarized, and reported within
the time periods specified in rules and forms adopted by the SEC. Disclosure controls and procedures include, without limitation, controls
and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under
the Exchange Act is accumulated and communicated to the Company&#8217;s management, including its principal executive and principal financial
officers, as appropriate to allow timely decisions regarding required disclosure.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.4pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.4pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management, with the participation of our Chief Executive Officer and our Chief Financial Officer, evaluated the effectiveness of our
disclosure controls and procedures as of December 31, 2021. Based on the evaluation, management has concluded that our disclosure controls
and procedures are effective as of December 31, 2021 to provide reasonable assurance regarding the reliability <span style="background-color: white">of
our financial reporting and the preparation of our financial statements for external reporting purposes in accordance with U.S. generally
accepted accounting principles.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.4pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Changes
in Internal Control Over Financial Reporting</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">There
have not been any changes in the Company&#8217;s internal control over financial reporting (as such term is defined in Rules 13a- 15(f)
and 15d-15(f) under the Exchange Act) during the fourth quarter of 2021 that have materially affected, or are reasonably likely to materially
affect, the Company&#8217;s internal control over financial reporting.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Management&#8217;s
Annual Report on Internal Control over Financial Reporting</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.05pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.05pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management is responsible for establishing and maintaining adequate internal control over financial reporting (as defined in Rule 13a-15(f)
under the Exchange Act). Our management, including our Chief Executive Officer and Chief Financial Officer, conducted an evaluation of
the effectiveness of our internal control over financial reporting as of December 31, 2021. In making its evaluation, management used
the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in Internal Control &#8211; Integrated
Framework (2013).</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.05pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.05pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based
on this evaluation, management determined that our internal control over financial reporting was effective as of December 31, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 1.75pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 44; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->44<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 2.1pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Annual Report does not include an attestation report by our independent registered public accounting firm regarding internal control
over financial reporting since we are an emerging growth company. Management&#8217;s report was not subject to attestation by our registered
public accounting firm pursuant to rules of the SEC that permit emerging growth companies to provide only management&#8217;s report in
the 10-K.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Inherent
Limitations on Effectiveness of Controls</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 2.1pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Our
management, including our Chief Executive Officer and Chief Financial Officer, believes that our disclosure controls and procedures and
internal control over financial reporting are intended to be designed to provide reasonable assurance of achieving their objectives.
However, our management does not expect that our disclosure controls and procedures or our internal control over financial reporting
will prevent or detect all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable,
not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact
that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent
limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of
fraud, if any, have been detected. These inherent limitations include the realities that judgments in decision making can be faulty,
and that breakdowns can occur because of a simple error or mistake. Additionally, controls can be circumvented by the individual acts
of some persons, by collusion of two or more people or by management override of the controls. The design of any system of controls also
is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed
in achieving its stated goals under all potential future conditions; over time, controls may become inadequate because of changes in
conditions, or the degree of compliance with policies or procedures may deteriorate. Because of the inherent limitations in a cost&#8211;effective
control system, misstatements due to error or fraud may occur and not be detected.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 2.1pt; text-align: justify; text-indent: 35.3pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_016"></span>ITEM
9B. OTHER INFORMATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.7pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_017"></span>ITEM
9C. DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_018"></span>PART
III</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_019"></span>ITEM
10. DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth the names, ages and positions of our executive officers and directors as of March 24, 2022. Our Board of Directors
is currently comprised of five members, who are elected annually to serve for one year or until their successor is duly elected and qualified,
or until their earlier resignation or removal. Executive officers serve at the discretion of the Board of Directors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; background-color: white">
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 30%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Name</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; white-space: nowrap; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 10%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Age</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1.5pt; white-space: nowrap; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></td>
    <td style="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 56%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Position</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight
    Egan</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">68</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Chairman of the Board</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">46</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer and Secretary</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene
    Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">52</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James
    Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">69</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard
    Serbin</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">77</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Ted
    Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">57</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Dwight
Egan </b>serves as our President and Chief Executive Officer and has been an officer and director of the Company since April 2013. Mr.
Egan has been engaged in private investment business from February 1999 to the present. He was a senior executive at Data Broadcasting
Corporation, a leading provider of wireless, real-time financial market data, news and sophisticated fixed- income portfolio analytics
to 27,000 individual and professional investors from 1995 to 1999. He co-founded and served as CEO and Chairman of the Board of Broadcast
International, Inc. from 1984 to 1995, when Data Broadcasting Corporation acquired Broadcast International and created <i>CBS MarketWatch</i>,
a leading financial news site and participated in its initial public offering. Mr. Egan&#8217;s prior experience in executive leadership
positions with public companies and working with capital markets qualifies him to serve as our Chairman, President and Chief Executive
Officer.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 45; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->45<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Brian
Brown </b>became our Chief Financial Officer in February 2021. From July 2020 until February 2021, Mr. Brown served as the Chief Financial
Officer of A-Core Concrete Cutting, Inc. where his duties included overseeing the company&#8217;s accounting and finance departments,
mergers and acquisitions and responsibility for financial forecasting and budgeting. From August 2019 to December 2019, Mr. Brown served
as the Vice President of Accounting, Treasury and Investor Relations at Sportsman&#8217;s Warehouse Holdings, Inc., a public company
reporting on Nasdaq Global Select under the symbol SPWH, where his duties included overseeing the company&#8217;s accounting, treasury
and investor relations departments, preparing the company&#8217;s annual, quarterly and current reports with the SEC, overseeing all
aspects of the company&#8217;s annual audit, including, but not limited to, the preparation and review of audit support schedules, preparation
of financial statements and footnotes, and providing support to the company&#8217;s independent auditors. From October 2009 to August
2019, Mr. Brown served as the Director of Finance of Sportsman&#8217;s Warehouse Holdings, Inc. where he assisted with the company&#8217;s
initial public offering in April 2014 as well as effecting private and secondary public offerings, acquisitions of a group of retail
stores and preparing the company&#8217;s periodic and current reports with the SEC and complying with the Sarbanes Oxley Act. From May
2005 to October 2009, Mr. Brown served as the Corporate Controller of Franklin Covey Products where he developed and maintained the company&#8217;s
internal controls over financial reporting structure in accordance with the control standards required under Section 404 of the Sarbanes
Oxley Act. From July 2001 to May 2005, Mr. Brown served as an Assurance Senior at KPMG, LLP where he provided audit services to various
clients in multiple industries. Mr. Brown holds a Bachelor of Arts in Accounting and Masters of Professional Accountancy from the University
of Utah. Mr. Brown is a licensed CPA in Utah.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Eugene
Durenard</b> has been a member of our Board of Directors since June 2019. Dr. Durenard is the Founder and CEO of Hyperbolic Holdings,
a Swiss-based holding, management consulting and strategy advisory company specialized in healthcare. Dr. Durenard brings an investment
and entrepreneurial experience spanning 20 years. For the last 7 years he has been working with family offices on direct investments
and philanthropy focused on life sciences. He serves on the advisory board of several private companies in the biotech and MedTech sectors
as well as an impact venture fund focused on healthcare. After an initial career in proprietary research and trading at Salomon Brothers
and Credit Suisse in London, he co-founded Orion Investment Management in Bermuda specializing in quantitative asset and liability management
for institutions and private clients. He subsequently sold it to Capital G Bank and co-headed their asset management. Dr. Durenard spent
several years establishing personal connections with representatives of 40+ clusters of life science innovation, families operating healthcare
businesses and industry leaders globally. He regularly visits labs and incubators, meets with leading scientists and innovators in order
to keep abreast of current trends and developments. His advice is based on a thorough analysis that combines in-depth knowledge of science,
competitive forces and financial expertise. He has published several articles in asset-liability management industry magazines as well
as the book &#8220;Professional Automated Trading &#8212; Theory and Practice&#8221; (Wiley 2013). He has a PhD in Mathematics from Harvard
University. Dr. Durenard brings a thorough multi-asset class investment and entrepreneurial experience spanning 20 years to the Company&#8217;s
Board of Directors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Edward
Murphy</b> has been a member of our Board of Directors since June 2019. Mr. Murphy currently serves as a senior vice president and a
partner of Dover Investments Ltd., a private investment firm. Throughout his career, Mr. Murphy&#8217;s duties have included investment
analysis of various types of investment projects in real estate and financial services. Currently, Mr. Murphy serves on the board of
directors of several Canadian publicly reporting companies that have interests in various industries. He has been a Director at Empire
Minerals Corporation Inc. since January 2016, at Digicrypts Blockchain Solutions Inc. since June 2011, at Lakefield Marketing Corporation
since February 2018, CEO/CFO and Director of Credo Resources Inc. since September 2019, and at the Mosport Park Entertainment Corporation
since April 30, 1997. He served as a Director at Aurquest Resources from May 2003 to December 2017. Mr. Murphy&#8217;s experience in
the capital markets outside the United States and his involvement in investment analysis is a benefit to the Board of Directors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 46; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->46<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Richard
Serbin </b>has been a member of our Board of Directors since May 2017. Mr. Serbin currently serves as a consultant to many companies
in the healthcare industry. He was the President of Corporate Development and In-House Legal Counsel at Life Science Institute, LLC,
from June 1, 2013 to July 15, 2014. Mr. Serbin is a global strategy advisor, pharmacist and entrepreneur with credentials both in pharmacy
and law, complemented by more than 40 years of service as an FDA regulatory attorney and patent attorney in the healthcare industry.
He was appointed to the Advisory Board of Cure Pharmaceutical in January 2017 and has been a Member of Advisory Board at Prime Access,
Inc. since September 2015. Mr. Serbin has been a Director at Rapid Nutrition Plc since November 18, 2014. He served as Director at Viropro
Inc. from May 2013 to June 2014. He was Head of Business Advisory Board at Mazal Plant Pharmaceuticals Inc. from October 2006 to September
2007 and also served as its Member of Business Advisory Board. He served as Chief Executive Officer of Optigenex Inc. from July 2002
to September 15, 2005 and a director from July 2004 to September 2005. From January 1999 until July 2002 Mr. Serbin served as a consultant
to various pharmaceutical companies. He served as the President of Bradley Pharmaceuticals. He served as Vice President of Corporate
Development at Ortho Pharmaceuticals, a Johnson &amp; Johnson subsidiary, and practiced Patent and FDA law at Revlon Johnson &amp; Johnson
and Schering-Plough. He served as Patent Attorney for Schering Plough Corporation and Chief FDA Counsel for Revlon Corporation and Johnson
and Johnson Corporation. Subsequently, he worked at Revlon Corporation, as its Chief Food, Drug and Cosmetic Counsel. He founded Radius
Scientific Corporation. He was J&amp;J&#8217;s Vice President of Corporate Development, and later led a successful public offering venture
based on technology developed at Stanford Medical School. Mr. Serbin spent a large portion of his career focusing on international markets
and clients. While at J&amp;J, Mr. Serbin served on the Board of Directors of 16 US and international subsidiary companies, including
Ethicon, Ortho, J&amp;J Consumer Products, Pittman-Moore, Mc Neil, and J&amp;J Development Corporation. He worked on multiple international
acquisitions and strategic relationships, and sat on the Board of Directors of several of its international subsidiaries, including those
in India, Hong Kong, Japan, Taiwan, Germany, and England. Mr. Serbin has a B.S. and a B. Pharmacy from Rutgers University and Rutgers
University College of Pharmacy, a J.D. degree from Seton Hall Law School and a Master&#8217;s Degree in Trade Regulations and Law from
NYU Law School. Mr. Serbin&#8217;s experience in business, law and medicine and knowledge gained as an advisor to the healthcare industry
is critical to our Board of Directors as we continue to commercialize our products.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"><b>James
Nelson</b></span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">has been a member of our Board of Directors
since June 2019. Mr. Nelson <span style="background-color: white">is the retired Chairman and CEO of Sunworks, Inc., a NASDAQ traded
commercial, agriculture, and residential solar Integrator which he helped found in October 2010. Mr. Nelson currently serves as strategic
advisor to three other publicly traded companies. Jim has spent most of his career working in private equity as a general partner with
Peterson Partners and with Millennial Capital Partners. In addition to his investment and financial responsibilities, he served as CEO
of two of his firms&#8217; portfolio companies. Prior to his years in private equity, Mr. Nelson served as Vice President of Marketing
at Banana Republic, where he managed company-wide marketing, as well as the company&#8217;s international expansion initiative. He was
also general manager for Banana Republic&#8217;s catalog division. He was Vice President of Marketing and Corporate Development at Saga
Corporation, a multi-billion-dollar food service company. Jim began his executive career over 35 years ago at Bain and Company, a business
strategy consulting firm, where he managed teams of consultants on four continents. Mr. Nelson received his MBA from Brigham Young University,
where he graduated summa cum laude and was named the Outstanding Master of Business Administration Graduate. Mr. Nelson&#8217;s advice
to the Board of Directors from his experiences as a chief executive officer and strategic advisor is useful to the Board of Directors.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Involvement
in Certain Legal Proceedings</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the best of our knowledge, none of our directors or executive officers has been involved in any bankruptcy or criminal proceedings (other
than traffic and other minor offenses) or been subject to any of the items set forth under Item 401(f) of Regulation S-K, nor have there
been any judgments or injunctions brought against any of our directors or executive officers during the last ten years that we consider
material to the evaluation of the ability and integrity of any director or executive officer.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Board
and Committee Matters</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Board of Directors has five members. The Chairman of the Board and our Chief Executive Officer, Dwight Egan, is a member of the Board
and is a full-time employee of the Company, Eugene Durenard, Edward Murphy, James Nelson and Richard Serbin are non-employee directors,
and the Board has determined that these persons (who constitute a majority of the Board) are &#8220;independent directors&#8221; under
the criteria set forth in Rule 5605(a)(2) of the Nasdaq Listing Rules. The Board met seven times during the year ended December 31, 2021.
All directors attended more than seventy-five percent (75%) of the meetings of the Board and committee meetings of which such director
was a member held during 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 47; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->47<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
maintain an audit committee of the board, a compensation committee of the board and a corporate governance/nominating committee of the
board, each of which is discussed below. Our board has determined that Messrs. Durenard, Nelson, Murphy and Serbin are &#8220;independent&#8221;
under the definition of independence in the Marketplace Rules of the NASDAQ listing requirements. Our Board of Directors may from time
to time establish other standing committees. In addition, from time to time, special committees may be established under the direction
of our Board of Directors when necessary to address specific issues.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth a description of the three permanent Board committees and the chairpersons and members of those committees,
all of whom are independent directors:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Independent
    Chairperson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="5" style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Independent
    Members</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="5" style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Audit Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 24%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 14%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 14%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 16%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard S. Serbin</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Compensation Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard S. Serbin</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James Nelson</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Governance/Nominating Committee</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard S. Serbin</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Audit
Committee and Financial Expert</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
audit committee currently is comprised of Messrs. Durenard, Nelson, Murphy and Serbin with Mr. Durenard serving as chairperson of the
audit committee. The functions of the audit committee include engaging an independent registered public accounting firm to audit our
annual financial statements, reviewing the independence of our auditors, the financial statements and the auditors&#8217; report, and
reviewing management&#8217;s administration of our system of internal control over financial reporting and disclosure controls and procedures.
The Board of Directors has adopted a written audit committee charter. A current copy of the audit committee charter is available to security
holders on our website at www.codiagnostics.com. Our board has determined that all of our directors that are serving on the audit committee
are &#8220;independent&#8221; under the definition of independence in the Marketplace Rules of the NASDAQ listing standards. The Audit
Committee met four times during the year ended December 31, 2021. All committee members attended more than seventy-five percent (75%)
of the meetings of the Audit Committee held during 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Board of Directors has determined that Mr. Durenard meets the requirements of an &#8220;audit committee financial expert&#8221; as defined
in applicable SEC regulations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Compensation
Committee</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
compensation committee currently includes Messrs. Serbin, Nelson, Murphy and Durenard with Mr. Serbin serving as chairperson of the compensation
committee. The functions of the compensation committee include reviewing and approving corporate goals relevant to compensation for executive
officers, evaluating the effectiveness of our compensation practices, evaluating and approving the compensation of our chief executive
officer and other executives, recommending compensation for board members, and reviewing and making recommendations regarding incentive
compensation and other employee benefit plans. The Board of Directors has adopted a written compensation committee charter. A current
copy of the compensation committee charter is available to shareholders on our website at www.codiagnostics.com<b>. </b>Our board has
determined that all of our directors serving on the compensation committee are &#8220;independent&#8221; under the definition of independence
in the Marketplace Rules of the NASDAQ listing standards. The Compensation Committee met four times during the year ended December 31,
2021. All committee members attended more than seventy-five percent (75%) of the meetings of the Compensation Committee held during
2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 48; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->48<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Corporate
Governance/Nominating Committee</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
corporate governance/nominating committee currently include Messrs. Nelson, Murphy, Durenard and Serbin with Mr. Nelson serving as chairperson
of the corporate governance/nominating committee. Among other items, the committee is tasked by the Board of Directors to: develop and
recommend to the Board the Corporate Governance Guidelines of the Company and oversee compliance therewith; assist the Board in effecting
Board organization, membership and function including identifying qualified Board nominees; assist the Board in effecting the organization,
membership and function of Board committees including the composition of Board committees and recommending qualified candidates therefor;
evaluate and provide successor planning for the Chief Executive Officer and other executive officers; and to develop criteria for Board
membership, such as independence, term limits, age limits and ability of former employees to serve on the Board and the evaluation of
candidates&#8217; qualifications for nominations to the Board, its committees as well as removal therefrom, respectively. A current copy
of the corporate governance/nominating committee charter is available to shareholders on our website at www.codiagnostics.com<b>. </b>Our
board has determined all directors serving on the corporate governance committee are &#8220;independent&#8221; under the definition of
independence in the Marketplace Rules of the NASDAQ listing standards. The Corporate Governance/Nominating Committee met four times during
the year ended December 31, 2021. All committee members attended more than seventy-five percent (75%) of the meetings of the Audit Committee
held during 2021. The nominating committee reviews the qualifications for candidates for the Board of Directors and assists in identifying,
interviewing, and recruiting candidates for the Board of Directors.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Board
Nominations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
considering Board candidates, the Board seeks individuals of proven judgment and competence who have strong reputations in their respective
fields. Although we do not have a formal diversity policy, the Board considers such factors as experience, education, employment history,
special talents or personal attributes, anticipated participation in Board activities, and geographic and diversity factors. The process
for identifying and evaluating nominees would include detailed consideration of the recommendations and opinions of members of our Board,
our executive officers, and our stockholders. There would be no difference in the process of evaluation of candidates recommended by
a stockholder and those recommended by other sources.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not have a formal policy concerning shareholder recommendations of candidates for board of director membership. Our board views that
such a formal policy is not necessary at the present time given the board&#8217;s willingness to consider candidates recommended by shareholders.
Shareholders may recommend candidates by writing to our Secretary at our principal offices: 2401 S. Foothill Drive, Suite D, Salt Lake
City, Utah 84109, giving the candidate&#8217;s name, contact information, biographical data and qualifications. A written statement from
the candidate consenting to be named as a candidate and, if nominated and elected, to serve as a director should accompany any such recommendation.
Shareholders who wish to nominate a director for election are generally advised to submit a shareholder proposal no later than December
31 for the next year&#8217;s annual meeting of shareholders.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Communication
with the Board</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have not, to date, developed a formal process for shareholder communications with the board of directors. We believe our current informal
process, in which any communication sent to the board of directors, either generally or in care of the chief executive officer, secretary
or other corporate officer or director, is forwarded to all members of the board of directors, has served the board&#8217;s and the shareholders&#8217;
needs.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Conflicts
of Interests</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
an annual basis, each director and executive officer is obligated to complete a director and officer questionnaire that requires disclosure
of any transactions with our company, including related person transactions reportable under SEC rules, in which the director or executive
officer, or any member of his or her immediate family, have a direct or indirect material interest. Under our company&#8217;s standards
of conduct for employees, all employees, including the executive officers, are expected to avoid conflicts of interest. Pursuant to our
code of ethics for the chief executive officer and senior finance officers (as discussed below), such officers are prohibited from engaging
in any conflict of interest unless a specific exception has been granted by the board. All of our directors are subject to general fiduciary
standards to act in the best interests of our company and our shareholders. Conflicts of interest involving an executive officer or a
director are generally resolved by the board.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 49; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->49<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Role
of the Board in Risk Oversight</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Risk
is inherent with every business, and how well a business manages risk can ultimately determine its success. Management is responsible
for the day-to-day management of the risks that we face, while our Board of Directors, as a whole and through its committees, has responsibility
for the oversight of risk management. In its risk oversight role, our Board of Directors is responsible for satisfying itself that the
risk management processes designed and implemented by management are adequate and functioning as designed.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
Board of Directors does not have a standing risk management committee, but rather administers this oversight function directly through
our Board of Directors as a whole, as well as through various standing committees of the Board of Directors that address risks inherent
in their respective areas of oversight. In particular, our Board of Directors is responsible for monitoring and assessing strategic risk
exposure, including a determination of the nature and level of risk appropriate for us. Our Audit Committee has the responsibility to
consider and discuss our major financial risk exposures and the steps our management has taken to monitor and control these exposures,
including guidelines and policies to govern the process by which risk assessment and management is undertaken. The Audit Committee also
monitors oversight of the performance of our internal audit function. Our Corporate Governance/Nominating Committee monitors the effectiveness
of our corporate governance guidelines, including whether they are successful in preventing illegal or improper liability-creating conduct.
Our Compensation Committee assesses and monitors whether any of our compensation policies and programs have the potential to encourage
excessive risk-taking or promote behaviors contra to our Code of Business Conduct.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Delinquent
Section 16(a) Reports</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Section
16(a) of the Exchange Act requires our directors and executive officers, and persons who own more than 10% of our common stock, to file
with the SEC initial reports of ownership and reports of changes in ownership of our common stock and other equity securities. Executive
officers, directors and greater than 10% shareholders are required by SEC regulations to furnish us with copies of all Section 16(a)
forms they file.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company prepares these reports for its directors and executive officers who request it on the basis on information obtained from them
and the Company&#8217;s records. The Company believes that applicable Section 16(a) filing requirements were met during 2021 by its directors
and executive officers, except that due to an inadvertent administrative error, one Form 4 for Eugene Durenard was filed
late.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Code
of Ethics</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have adopted a code of ethics for our principal executive officer, principal financial officer, controller, or persons performing similar
functions. A copy of the code of ethics is included on our website at www.codiagnostics.com.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Family
Relationships</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
are no family relationships among our directors and executive officers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_020"></span>ITEM
11. EXECUTIVE COMPENSATION</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
are an &#8220;emerging growth company&#8221; as defined in the Jumpstart Our Business Startups Act of 2012 and a &#8220;smaller reporting
company&#8221; as defined in the rules and regulations of the SEC. As an emerging growth company and as a smaller reporting company we
may take advantage of specified reduced disclosure and other requirements that are otherwise applicable, in general, to public companies
that are not emerging growth companies or smaller reporting companies. Accordingly, this Report includes reduced disclosure about our
executive compensation arrangements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Summary
Compensation Table</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the total compensation paid or earned by each of the named executive officers in their respective capacities for
the fiscal years ended December 31, 2021 and 2020. We have omitted in this report certain columns otherwise required to be included because
there was no compensation made with respect to such columns, as permitted by applicable SEC regulations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 50; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->50<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Name and Principal Position</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Salary</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Bonus (1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Stock<br /> Awards (2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">All Other <br /> Comp (3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total<br /> Compensation</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 40%; text-align: left">Dwight Egan<br /> President &amp; Chief Executive Officer</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: center">&#160;</td><td style="width: 6%; text-align: center">2021</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">350,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">638,459</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">1,208,750</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">26,793</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 6%; text-align: right">2,224,002</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">2020</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">309,375</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">350,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">786,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">17,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,463,625</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Brian Brown<br /> Chief Financial Officer and Secretary</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">2021</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">209,731</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">475,014</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,441,600</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0">26,793</p></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,153,138</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Reed Benson (4)<br /> Former Chief Financial Officer and Secretary</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">2021</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">136,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">154,682</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0">26,793</p></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">317,725</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">2020</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">211,458</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">225,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">288,475</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">17,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">742,433</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Bonuses
                                            for the year ended December 31, 2021 include accrued bonus payments of $281,597 to
                                            Mr. Egan and $223,248 to Mr. Brown that were paid in February 2022. Bonuses for the
                                            year ended December 31, 2020 include accrued bonus payments of $272,500 to Mr. Egan and $180,000
                                            to Mr. Benson that were paid in February 2021.</span></p>
                                                                                <p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="margin-top: 0; margin-bottom: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amounts reported in this column represent the aggregate grant date fair value of the restricted stock units, or RSUs, granted under our
2015 Plan as computed in accordance with FASB ASC Topic 718. Note that the amounts reported in this column reflect the accounting value
for these equity awards and do not correspond to the actual economic value that may be received from the equity awards as the RSUs vest
over three years.</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Company profit sharing payments to the Company&#8217;s
401 K Plan.</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mr.
    Benson is no longer an executive officer of the Company as of August 2021. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 51; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->51<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Outstanding
Equity Awards at Fiscal Year-End 2021</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table contain certain information concerning outstanding equity awards for the Named Executive Officers as of December 31,
2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="padding-bottom: 1.5pt; font-size: 11pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; text-align: center">Option Awards</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="10" style="border-bottom: Black 1.5pt solid; text-align: center">Stock Awards</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt; font-size: 11pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-size: 11pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-size: 11pt">&#160;</td><td>&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center">Number of Securities Underlying Unexercised Options (#)</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Option Exercise</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Option Expiration</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Number of Shares or Units of Stock That Have Not</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Market Value of Shares or Units of Stock That Have Not Vested</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Number of Unearned Shares, Units or Other Rights That Have Not</td><td style="text-align: center">&#160;</td><td style="text-align: center">&#160;</td>
    <td colspan="2" style="text-align: center">Market or Payout Value of Unearned Shares, Units or Other Rights That Have Not</td>
    <td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: center">Name</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Exercisable</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Unexercisable</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Price</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Date</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Vested (#)</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">($) (1)</td>
    <td style="text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Vested (#)</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Vested ($)</td>
    <td style="text-align: center; padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 28%; text-align: left">Dwight Egan</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 5%; text-align: right">50,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 6%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 5%; text-align: right">2.63</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 6%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">09/20/28</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 8%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%">&#160;</td>
    <td style="width: 6%; text-align: right">-</td>
    <td style="width: 1%">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 6%; text-align: right">-</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 1%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 6%; text-align: right">-</td>
    <td style="text-align: left; width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 11pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.10</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">09/02/29</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">-</td>
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td>
    <td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-size: 11pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">154,167</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td>$</td>
    <td style="text-align: right">1,376,711</td>
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td>
    <td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 11pt">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td>&#160;</td>
    <td style="font-size: 11pt; text-align: right">&#160;</td>
    <td>&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td>
    <td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Brian Brown</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">103,333</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td>$</td>
    <td style="text-align: right">922,764</td>
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td>
    <td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 11pt">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td>&#160;</td>
    <td style="font-size: 11pt; text-align: right">&#160;</td>
    <td>&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td><td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt">&#160;</td>
    <td style="font-size: 11pt; text-align: left">&#160;</td><td style="font-size: 11pt; text-align: right">&#160;</td>
    <td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Reed Benson</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">41,666</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.10</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">09/02/29</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td>&#160;</td>
    <td style="text-align: right">-</td>
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td>
    <td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-size: 11pt">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,332</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td>$</td>
    <td style="text-align: right">163,705</td>
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td>
    <td style="text-align: left">&#160;</td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on $8.93 per share which was the closing price
    of our common stock on December 31, 2021.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
do not have written employment agreements with any of our executive officers. All of our executive officers serve on an at-will basis.
The base salaries, bonuses and equity awards for our named executive officers were determined by our compensation committee after reviewing
a number of factors, including: company performance, achievement of goals, the responsibilities associated with the position, the seniority
of the executive&#8217;s position, the base salary level in prior years, and our financial position; and for executive officers other
than our Chief Executive Officer, recommendations made by our Chief Executive Officer.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Potential
Payments Upon Termination or Change of Control</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">There
is no compensation payable to the named executive officers upon voluntary termination, retirement, involuntary not-for-cause termination,
termination following a change of control or in the event of disability or death of the executive.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Director
Compensation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
use a combination of cash and stock-based incentive compensation to attract and retain qualified candidates to serve on its board of
directors. In setting director compensation, we consider the significant amount of time that directors expend in fulfilling their duties
as well as the skill-level required by our members of the board.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 52; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->52<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Director
Summary Compensation Table</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
table below summarizes the compensation paid or accrued by us to each of our non-employee directors for the fiscal year ended December
31, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Name</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Fees Earned or<br /> Paid in Cash</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Stock Awards:<br /> Value of Restricted<br /> &#160;Stock Units (1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Richard Serbin</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">100,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">413,250</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">513,250</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">James Nelson</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">100,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">413,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">513,250</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Edward Murphy</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">100,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">413,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">513,250</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Eugene Durenard</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">100,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">413,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">513,250</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The amounts reported in
    this column represent the aggregate grant date fair value of the restricted stock units, or RSUs, granted under our 2015 Plan as
    computed in accordance with FASB ASC Topic 718. Note that the amounts reported in this column reflect the accounting value for these
    equity awards and do not correspond to the actual economic value that may be received from the equity awards. The RSUs vested immediately
    upon grant.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify; text-indent: -0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
non-employee directors receive cash compensation of $75,000 per year, paid quarterly. The non-employee directors also each received 37,500
RSU&#8217;s vesting 1/3<sup>rd</sup> equally in January 2021, 2022, and 2023. In addition, non-employee directors may be entitled to
receive special awards of stock options or RSUs from time to time as determined by the board. During 2021, the non-employee directors
were also each awarded an additional $25,000 bonus. The chairman of the board and the chairperson of each of the audit, corporate governance/nomination,
and compensation committees receive no additional fees for serving in such capacities. There is no additional compensation for meeting
attendance. Directors who are employees of the Company receive no additional compensation for serving as directors. All stock options
granted to outside directors are immediately exercisable and expire ten years from the date of grant or 30 days after the date they cease
to be directors. Directors are reimbursed for ordinary expenses incurred in connection with attending board and committee meetings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 53; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->53<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Equity
Compensation Plan Information</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid">Plan Category</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(a) Number of Shares to be Issued upon Exercise of Outstanding Options and Rights</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(b) Weighted-average Exercise Price of Outstanding Options and Rights</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">(c) Number of Securities Remaining Available for Future Issuance Under Equity Compensation Plans (Excluding Securities Referenced in Column (a))</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Equity compensation plans approved by stockholders</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">2,378,778</td><td style="width: 1%; text-align: left">(1)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">2.12</td><td style="width: 1%; text-align: left">(2)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">2,095,266</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Equity compensation plans not approved by stockholders</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,378,778</td><td style="padding-bottom: 2.5pt; text-align: left">(1)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2.12</td><td style="padding-bottom: 2.5pt; text-align: left">(2)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,095,266</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes options and restricted
    stock units outstanding under our 2015 Equity Incentive Plan. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; white-space: nowrap; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Represents weighted-average
    exercise price per share of common stock acquirable upon exercise of outstanding stock options.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Equity
Incentive Plans</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
our Amended and Restated 2015 Long-term Incentive Plan (the &#8220;2015 Plan&#8221;), the board of directors may issue incentive stock-based
awards to employees, directors and consultants of the company. Options awarded generally expire ten years after being granted. Any stock-based
awards granted vest in accordance with the vesting schedule determined by the board of directors. Should an employee&#8217;s director&#8217;s
or consultant&#8217;s relationship with the company terminate before the vesting period is completed, the unvested portion of each grant
is forfeited. We continue to maintain and grant awards under the 2015 Plan which will remain in effect its expiration by its terms.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
purpose of our incentive plan is to advance the interests of our stockholders by enhancing our ability to attract, retain and motivate
persons who are expected to make important contributions to the company by providing them with both equity ownership opportunities and
performance-based incentives intended to align their interests with those of our stockholders. These plans are designed to provide us
with flexibility to select from among various equity-based compensation methods, and to be able to address changing accounting and tax
rules and corporate governance practices by optimally utilizing stock-based awards.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_021"></span>ITEM
12. SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth certain information, as of March 22, 2022, with respect to the holdings of (1) each person who is the
beneficial owner of more than 5% of our Common Stock, (2) each of our directors, (3) each named executive officer, and (4) all of our
current directors and executive officers as a group.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Beneficial
ownership of the common stock is determined in accordance with the rules of the Securities and Exchange Commission and includes any shares
of common stock over which a person exercises sole or shared voting or investment power, or of which a person has a right to acquire
ownership at any time within 60 days of March 22, 2022. Except as otherwise indicated, we believe that the persons named in this
table have sole voting and investment power with respect to all shares of common stock held by them. Applicable percentage ownership
in the following table is based on 33,965,318 shares of common stock plus, for each individual, any securities that individual
has the right to acquire within 60 days of March 22, 2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 54; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->54<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
the best of our knowledge, except as otherwise indicated, each of the persons named in the table has sole voting and investment power
with respect to the shares of our common stock beneficially owned by such person, except to the extent such power may be shared with
a spouse. To our knowledge, none of the shares listed below are held under a voting trust or similar agreement, except as noted. To our
knowledge, there is no arrangement, including any pledge by any person of securities of the Company, the operation of which may at a
subsequent date result in a change in control of the Company. The information in the tables below is based on information known to us
or ascertained by us from public filings made by the stockholders. Except as otherwise indicated in the table below, addresses of the
director, executive officers and named beneficial owners are in care of Co-Diagnostics, Inc., 2401 S. Foothill Drive, Suite D, Salt Lake
City, Utah 84109.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Shares Beneficially Owned</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Percentage<br /> of Class (1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">5% Stockholders</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">Vanguard Group (1)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">1,795,057</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">5.3</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Named Executive Officers and Directors</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold; text-align: right">&#160;</td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Dwight Egan (2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">124,661</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reed Benson (3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">44,836</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Brian Brown</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,459</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Edward Murphy (4)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">75,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Eugene Durenard</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">James Nelson (5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">62,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Richard Serbin (6)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">35,445</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">All Directors and Executive Officers as a Group (7 persons)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">373,401</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.1</td><td style="text-align: left">%</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*Represents
beneficial ownership of less than 1%.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Information obtained from
    Schedule 13G/A filed with the SEC on February 2, 2022. Vanguard Group has an address of 100 Vanguard Blvd, Malvern, PA, 19355.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes exercisable options
    to acquire 100,000 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes exercisable options
    to acquire 41,666 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(4)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes exercisable options
    to acquire 50,000 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(5)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes exercisable options
    to acquire 50,000 shares of common stock.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(6)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Includes exercisable options
    to acquire 20,445 shares of common stock.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_022"></span>ITEM
13. CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company acquired the exclusive rights to the CoPrimer technology pursuant to a license agreement dated April 2014, between us and DNA
Logix, Inc., which was assigned to Dr. Satterfield prior to our acquisition of DNA Logix, Inc. Pursuant to the license the Company was
to pay Dr. Satterfield minimum royalty payments of $30,000 per month until the Company receives an equity funding of at least $4,000,000,
at which time the payments increase to $60,000 per month for the remainder of the year. The payment terms were orally modified to maintain
the monthly royalties at $30,000 per month through December 2016. On March 1, 2017, the Company entered into an amendment effective January
1, 2017, to its Exclusive License Agreement for its CoPrimer (&#8220;License&#8221;) technology with Dr. Satterfield, a former member
of our Board of Directors. The amendment provides in part that all royalties under the License cease as of January 1, 2017, and we began
in January 2017 to pay $700,000 of accrued royalties at the rate of $10,000 per month. In 2021 and 2020, we paid Dr. Satterfield $150,000
and $120,000, respectively, in payment of the accrued royalties.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 55; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->55<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company employs two persons who are related to current or former executive officers. Seth Egan is the Company&#8217;s Director of Sales
and Marketing, and is the son of Dwight Egan, the Company&#8217;s President and Chief Executive Officer. Andrew Benson is the Company&#8217;s
Director of Investor Relations, and is the son of Reed Benson, the Company&#8217;s former Chief Financial Officer and Secretary. During
the year ended December 31, 2021, the total compensation paid to or earned by these persons, including salaries, bonuses, and the grant
date fair value of equity awards which vest over three years, was $1,512,457 and $1,285,790, respectively. During the
year ended December 31, 2020, the total compensation paid to or earned by these persons, including salaries, bonuses, and the grant date
fair value of equity awards which vest over three years, was $1,113,440 and $1,109,303, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_023"></span>ITEM
14. PRINCIPAL ACCOUNTANT FEES AND SERVICES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table presents aggregate fees for professional services rendered by our independent auditors for the respective periods.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 90%; margin-right: auto">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Audit fees</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">113,100</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">115,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Audit related fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Other consulting fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Tax fees</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total fees</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">113,100</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">116,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Audit
fees consist of fees for professional services provided in connection with the audit of our annual consolidated financial statements,
review of our quarterly consolidated financial statements and our offerings.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tax
fees included fees associated with tax compliance and tax consultations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
audit committee has adopted a policy that requires advance approval of all services performed by the independent auditor when fees are
expected to exceed $15,000. The audit committee has delegated to the audit committee chairperson, Mr. Durenard, the authority to approve
services, subject to ratification by the audit committee at its next committee meeting. All fees incurred were pre-approved by the audit
committee.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_024"></span>PART
IV</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="a_025"></span>Item
15. Exhibits, Financial Statement Schedules.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    following documents are filed as part of this Annual Report on Form 10-K:</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Financial
    Statements.</i> The Consolidated Financial Statements filed as part of this Annual Report on Form 10-K are included in Part II, Item
    8 of this Annual Report on Form 10-K. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>Financial
    statement schedules.</i> There are no financial statements schedules included because they are either not applicable or the required
    information is shown in the consolidated financial statements or the notes thereto. </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exhibits.
    The exhibits required by Item 601 of Regulation S-K and Item 15(b) of this Annual Report are listed in the Exhibit Index below. The
    exhibits listed in the Exhibit Index are incorporated by reference herein.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 56; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->56<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 8%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Number</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Exhibit
    Description</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 8%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Filed
    with this</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Report</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 15%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Incorporated
    by</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Reference
    herein from Form or Schedule</b></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 8%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Filing
    Date</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 11%"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>SEC
    File/Reg.</b></span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Number</b></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.1*+</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/0001692415/000149315221032360/ex2-1.htm" style="-sec-extract: exhibit">Agreement and Plan of Merger by and between Co-Diagnostics, Inc, IDMO Acquisition Corp., Idaho Molecular Inc., and Company Representative dated as of December 21, 2021.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form 8-K (Exhibit 2.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12/23/21</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.2*+</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/0001692415/000149315221032360/ex2-2.htm" style="-sec-extract: exhibit">Agreement and Plan of Merger by and between Co-Diagnostics, Inc, ACI Acquisition Corp., Advanced Conceptions, Inc., and Company Representative dated as of December 21, 2021</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form 8-K (Exhibit 2.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">12/23/21</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;3.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename2.htm" style="-sec-extract: exhibit">Articles of Incorporation</a>
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft Registration Statement
    (Exhibit 3.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;377-01467</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename3.htm" style="-sec-extract: exhibit">Amendment to the Articles of Incorporation</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft Registration Statement
    (Exhibit 3.1.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">377-01467</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000149315219000111/ex3-2.htm" style="-sec-extract: exhibit">Articles of Amendment to Articles of Incorporation</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form 8-K (Exhibit 3.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/03/19</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">3.1.3</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex3-1_3.htm">Articles of Amendment</a></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">X</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename4.htm" style="-sec-extract: exhibit">Bylaws</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft Registration Statement
    (Exhibit 3.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">377-01467</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex4-1.htm">Description of Registrant&#8217;s securities</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217000164/filename7.htm" style="-sec-extract: exhibit">Exclusive Agreement between Co-Diagnostics, Inc. and DNA Logix, Inc., dated April 18, 2014</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Draft Registration Statement
    (Exhibit 10.2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">01/12/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">377-01467</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.2<sup>#</sup></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000149315220022110/ex4-1.htm" style="-sec-extract: exhibit">Co-Diagnostics, Inc. Amended and Restated 2015 Long Term Incentive Plan</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form S-8/A </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">11/20/20</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-237684</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.3</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217002536/codx_ex10138.htm" style="-sec-extract: exhibit">Form of Indemnification Agreement</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form S-1/A (Exhibit 10.13.8)
    </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">05/24/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-217542</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.4</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217002006/axdx_ex1016.htm" style="-sec-extract: exhibit">Shareholders&#8217; Agreement between Co-Diagnostics and Synbiotics Limited, dated January 27, 2017</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form S-1 (Exhibit 10.16)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">04/28/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-217542</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.5</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000147793217002006/axdx_ex1017.htm" style="-sec-extract: exhibit">Amended Exclusive License Agreement between Co-Diagnostics, Brent Satterfield, and DNA Logix, Inc., dated January 1, 2017</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form S-1 (Exhibit 10.17)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">04/28/17</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">333-217542</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.6</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex10-6.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Warrant Agreement between Co-Diagnostics, Inc and VStock Transfer, LLC. Dated December 31, 2021 (ACI Warrant)</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 57; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->57<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 8%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.7</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 40%"><a href="ex10-7.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Warrant Agreement between Co-Diagnostics, Inc and VStock Transfer, LLC. Dated December 31, 2021 (IDMO Warrant)</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; width: 8%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 15%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center; width: 8%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 11%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.8</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000149315220003091/ex10-1.htm" style="-sec-extract: exhibit">Form of Securities Purchase Agreement, dated February 27, 2020</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    8-K (Exhibit 10.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">02/27/20</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.9</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex10-9.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease Agreement 2401 Foothill Drive</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.9.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex10-9_1.htm">Amendment #1 to Lease</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">10.9.2</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex10-9_2.htm">Amendment #2 to Lease</a></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">X</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">14.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="http://www.sec.gov/Archives/edgar/data/1692415/000149315220005305/ex14-1.htm" style="-sec-extract: exhibit">Code of Ethics for Senior Financial Officers</a> </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Form
    10-K (Exhibit 14.1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">03/30/20</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">001-38148</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">21.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><a href="ex21-1.htm"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Subsidiaries of Registrant</span></a></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex23-1.htm">Consent
    of Haynie &amp; Company</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Certification
    of Chief Executive Officer pursuant to section 302 of the Sarbanes-Oxley Act of 2002</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">Certification
    of Principal Financial Officer pursuant to section 302 of the Sarbanes-Oxley Act of 2002</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">Certification
    of Chief Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-2.htm">Certification
    of Principal Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of
    2002</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101
    SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document (A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(A)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase">iXBRL
    (INline Extensible Business Reporting Language)</span> <span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">information
    is furnished and not filed for purposes of Section 11 and 12 of the Securities Act of 1933 and Section 18 of the Securities Exchange
    Act of 1934.</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">X</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><sup>#</sup>Management
Contract or Compensatory Plan or Arrangement</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*Schedules
and exhibits to these Exhibits have been omitted pursuant to Item 601(b)(2) of Regulation S-K. The Company agrees to furnish supplementally
a copy of any omitted schedule or exhibit to the SEC upon request.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">+
Portions of Exhibit 2.1 and Exhibit 2.2 have been omitted as they contain information that (i) is not material and (ii) is the type of
information the issuer both customarily and actually treats as private and confidential.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 58; Value: 2 -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->58<!-- Field: /Sequence --></td></tr></table></div>
    <div style="break-before: page; margin-top: 6pt"><p style="margin: 0pt">&#160;</p></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>SIGNATURES</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed
on its behalf by the undersigned thereunto duly authorized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CO-DIAGNOSTICS,
    INC.</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 3%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 47%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: March 24, 2022</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By: </span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Dwight Egan</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight Egan</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer, President and Director</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Executive Officer)</span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Brian Brown</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian
    Brown</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Financial Officer</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal
    Financial and Accounting Officer</span></p></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 33.75pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the
registrant and in the capacities and on the date indicated.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 30%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Signature</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 40%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Title</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 26%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Date</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/ Dwight
    Egan</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Executive Officer,
    President and Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 24, 2022</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight Egan</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal Executive Officer)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/ Brian
    Brown</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Financial Officer</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 24, 2022</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian Brown</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Principal Financial and
    Accounting Officer)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/ Eugen
    Durenard</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 24, 2022</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Eugene Durenard</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/ Edward
    Murphy</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 24, 2022</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Edward Murphy</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/ James
    Nelson</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 24, 2022</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">James Nelson</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/ Richard
    Serbin</i></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Director</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">March 24, 2022</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Richard Serbin</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


<!-- Field: Page; Sequence: 59; Options: Last -->
    <div style="border-bottom: Black 1.5pt solid; margin-bottom: 6pt"><table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font-size: 10pt"><tr style="vertical-align: top; text-align: left"><td style="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->59<!-- Field: /Sequence --></td></tr></table></div>
    <!-- Field: /Page -->

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-3.1.3
<SEQUENCE>2
<FILENAME>ex3-1_3.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
3.1.3</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>ARTICLES
OF AMENDMENT TO THE</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>ARTICLES
OF INCORPORATION OF CO-DIAGNOSTICS, INC.</B></FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Pursuant
to and in accordance with the provisions of Section 16-10a-1006 of the Utah Revised Business Corporation Act, as amended (the <U>&ldquo;Act&rsquo;&rsquo;)</U>,
the undersigned, Co-Diagnostics, Inc. (the <U>&ldquo;Corporation&rdquo;)</U> hereby declares and certifies the following Articles of
Amendment to its Articles of Incorporation.</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
The name of the Corporation is Co-Diagnostics, Inc.</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
The text of the amendment to the Articles of Incorporation of the Corporation adopted is as follows:</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Following
the final paragraph of ARTICLE ill-CAPITAL STOCK of the Articles of Incorporation, the following text is inserted:</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&ldquo;Upon
the filing of these Articles of Amendment to the Articles of Incorporation, each share of Common Stock of the Corporation issued and
outstanding immediately prior to these Articles of Amendment to the Articles of Incorporation, without further action, will be automatically
split and converted into one-eleventh (1/11) of one (1) share of fully paid and nonassessable shares of Common Stock of the Corporation
(the <U>&ldquo;Reverse Stock Split&rdquo;)</U>. No fractional shares shall be issued upon the Reverse Stock Split; rather, each fractional
share resulting from the Reverse Stock Split shall be rounded up to the nearest whole number. Each outstanding stock certificate of the
Corporation, which prior to the filing of these Articles of Amendment represented one or more shares of Common Stock, shall immediately
after such filing represent that number of shares of Common Stock equal to the product of (x) the number of shares of Common Stock represented
on such certificates divided by (y) eleven (11) (such adjusted shares, the <U>&ldquo;Reclassified Shares&rdquo;)</U>, with any resulting
fractional shares rounded up to the nearest whole share as set forth above. Any options, warrants or other purchase rights, which prior
to the filing of these Articles of Amendment represented the right to acquire one or more shares of the Corporation&rsquo;s Common Stock,
shall immediately after such filing represent the right to acquire one-eleventh (1/11) of one (1) share of the Corporation&rsquo;s Common
Stock for each share of the Corporation&rsquo;s Common Stock that such option, warrant or other purchase right previously represented
the right to acquire. The exercise price of such options, warrants and purchase rights shall be adjusted by multiplying the existing
exercise price by eleven (11).</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
number of authorized shares of Common Stock of the Corporation and the par value of such shares will not be affected by these Articles
of Amendment.</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Corporation shall, upon the request of each record bolder of a certificate representing shares of Common Stock issued and outstanding
immediately prior to the filing of these Articles of Amendment to the Articles of Incorporation, issue and deliver to such holder in
exchange for such certificate a new certificate or certificates representing the Reclassified Shares.&rdquo;</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
The amendment specified above was adopted as of May 24, 2017, by the Board of Directors of the Corporation by a unanimous consent resolution
for such purpose, and in accordance with the requirements of the Act and the Bylaws of the Corporation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT>4. The foregoing amendment
to the Articles of Incorporation of the Corporation was authorized and approved pursuant to section 16-10a-1003 of the Act by a vote
of the majority of the Corporation&rsquo;s shareholders entitled to vote at an Annual <B>Meeting</B> of the shareholders of the Corporation.</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
Pursuant to 16-10a-704 of the Act, this action was approved without meeting with the consent of holders of 64,457,487 shares of the Corporation&rsquo;s
Common Stock equal to 59.3% of the shares entitled to vote on the action</FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 18.4pt; text-indent: 36.35pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN
WITNESS WHEREOF, these Articles of Amendment to the Articles of Incorporation of the Corporation are executed as of June 20, 2017.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
    Inc. a Utah corporation</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 45%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><I>/s/ Reed L. Benson</I></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif">Chief Financial Officer</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-4.1
<SEQUENCE>3
<FILENAME>ex4-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>EXHIBIT 4.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>DESCRIPTION
OF REGISTRANT&rsquo;S SECURITIES REGISTERED UNDER SECTION 12 </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>OF THE SECURITIES
EXCHANGE ACT OF 1934, AS AMENDED</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">The
following description of our capital stock summarizes certain provisions of articles of incorporation, as amended (the &ldquo;<B>Articles
of Incorporation</B>&rdquo;), our bylaws (the &ldquo;<B>Bylaws</B>&rdquo;), and applicable provisions of law. Such summaries do not purport
to be complete and are subject to, and are qualified in their entirety by reference to, all of the provisions of our Articles of Incorporation
and our Bylaws, including the definitions therein of certain terms, and all of the applicable provisions of law. Copies of our Articles
of Incorporation and our Bylaws are filed or incorporated by reference as exhibits to our Annual Report on Form 10-K.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">References
in this Exhibit to the &ldquo;Company,&rdquo; &ldquo;us,&rdquo; &ldquo;we,&rdquo; and &ldquo;our&rdquo; are solely to Co-Diagnostics,
Inc. and not to any of its subsidiaries, unless the context requires otherwise.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>DESCRIPTION
OF COMMON STOCK</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>Authorized
Capital Stock</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Pursuant
to our Articles of Incorporation, our authorized capital stock presently consists of 100,000,000 shares of Common Stock, par value $0.001
per share, and 5,000,000 shares of &ldquo;blank check&rdquo; preferred stock, par value $0.001 per share.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>Common Stock</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Fully
Paid and Non-Assessable Shares; No Liability for Corporate Obligations</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">All
of the outstanding shares of Common Stock are fully paid and non-assessable. A share of Common Stock is fully paid and non-assessable
if such share has been issued for consideration legally permissible under the Utah Revised Business Corporation Act with a value at least
equal to the par value per share of Common Stock. Holders of fully paid and non-assessable shares of the Common Stock will not be liable
for any obligations or liabilities of the Company that the Company may fail to discharge.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Voting
Rights</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Each
holder of shares of Common Stock is entitled to one vote for each share owned of record on all matters submitted to a vote of shareholders.
Except as noted below or as otherwise required by the Utah Revised Business Corporation Act, the vote of shareholders is required to decide
any matter brought before a shareholder meeting at which a quorum is present. The holders of a majority of the outstanding shares of our
stock must approve any amendments to our Articles of Incorporation, any merger or consolidation to which we are a party (other than parent-subsidiary
mergers), any sale of all or substantially all of our assets or our dissolution as a corporation. Our shareholders do not have cumulative
voting rights as to the election of directors.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Dividends</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Subject
to the preferential rights of any holders of any series of our preferred stock that may be issued in the future, the holders of shares
of Common Stock are entitled to such dividends and distributions, whether payable in cash or otherwise, as may be declared from time to
time by our board of directors from legally available funds.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">We
have never declared or paid any cash dividends on our capital stock. The payment of dividends on our Common Stock in the future will depend
on our earnings, capital requirements, operating and financial condition, and such other factors as our board of directors may consider
appropriate. We currently expect to use all available funds to finance the future development and expansion of our business and do not
anticipate paying dividends on our Common Stock in the foreseeable future.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>&nbsp;</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Liquidation
Distributions</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Subject
to the preferential rights of any holders of any series of our preferred stock that may be issued in the future, upon our liquidation,
dissolution, or winding-up, and after payment of all prior claims against our assets and our outstanding obligations, the holders&rsquo;
shares of Common Stock will be entitled to receive, pro rata, all of our remaining assets.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Preemptive,
Conversion, Redemption, or Similar Rights</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">The
holders of shares of Common Stock are not entitled to any preemptive or other similar rights to subscribe for or acquire additional shares
of Common Stock or any other securities of the Company. The shares of Common Stock are not subject to conversion or redemption by the
Company and the holders of shares of Common Stock do not have any right or option to convert such shares into any other security or property
of the Company or to cause the Company to redeem such shares of Common Stock. There are no sinking fund provisions applicable to the Common
Stock.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Listing</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Shares
of the Common Stock are listed for trading on the NASDAQ Capital Markets under the symbol &ldquo;CODX.&rdquo;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><I>Transfer
Agent and Registrar</I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">The
transfer agent and registrar for the Common Stock is VStock Transfer Company, Inc. located at 18 Lafayette Pl, Woodmere, New York 11598.
Its telephone number is (212) 828-8436.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>Preferred
Stock</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Shares
of our preferred stock are <B>NOT</B> listed for trading. The description herein is provided solely to show the potential effect on our
Common Stock.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Our
Articles of Incorporation authorizes 5,000,000 shares of &ldquo;blank check&rdquo; preferred stock, par value $0.001 per share, of which
30,000 have been designated as Series A Convertible Preferred Stock.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">All
30,000 previously outstanding shares of Series A Preferred Stock were converted into Common Stock during 2020 and 2019. The board of directors
of the Company may provide for the issue of any or all of the unissued and undesignated shares of the preferred stock in one or more series,
and to fix the number of shares and to determine or alter for each such series, such voting powers, full or limited, or no voting powers,
and such designation, preferences, and relative, participating, optional, or other rights and such qualifications, limitations, or restrictions
thereof, as shall be stated and expressed in the resolution or resolutions adopted by the board of directors providing for the issuance
of such shares and as may be permitted by law, without shareholder approval.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">Our
board of directors has the right to establish one or more series of preferred stock without shareholder approval. Unless required by law
or by any stock exchange on which our Common Stock is listed, the authorized shares of preferred stock will be available for issuance
at the discretion of our board of directors without further action by our shareholders. Our board of directors is able to determine, with
respect to any series of preferred stock, the terms and rights of that series, including:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 1in">&nbsp;</TD>
    <TD STYLE="width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the designation of the series;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the number of shares of the series;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">whether dividends, if any, will be cumulative or non-cumulative and the dividend rate, if any, of the series;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 1in">&nbsp;</TD>
    <TD STYLE="width: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the dates at which dividends, if any, will be payable;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the redemption rights and price or prices, if any, for shares of the series;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the terms and amounts of any sinking fund provided for the purchase or redemption of shares of the series;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the amounts payable on shares of the series in the event of any voluntary or involuntary liquidation, dissolution, or winding-up of the affairs of our company;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">whether the shares of the series will be convertible into shares of any other class or series, or any other security, of our company or any other entity, and, if so, the specification of the other class or series or other security, the conversion price or prices or rate or rates and provisions for any adjustments to such prices or rates, the date or dates as of which the shares will be convertible, and all other terms and conditions upon which the conversion may be made;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">the ranking of such series with respect to dividends and amounts payable on our liquidation, dissolution, or winding-up, which may include provisions that such series will rank senior to our Common Stock with respect to dividends and those distributions;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">restrictions on the issuance of shares of the same series or any other class or series; or</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">voting rights, if any, of the holders of the series.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">The
issuance of preferred stock could adversely affect, among other things, the voting power of holders of Common Stock and the likelihood
that shareholders will receive dividend payments and payments upon our liquidation, dissolution, or winding up. The issuance of preferred
stock could also have the effect of delaying, deferring, or preventing a change in control of us.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; text-indent: 0.5in; margin-top: 0; margin-bottom: 0; margin-left: 0">If
we issue shares of preferred stock, the shares will be fully paid and nonassessable and will not have, or be subject to, any preemptive
or similar rights.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 3; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>&nbsp; </B></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.6
<SEQUENCE>4
<FILENAME>ex10-6.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
10.6</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">COMPANY
WARRANT AGREEMENT</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">THIS
WARRANT AGREEMENT (this &ldquo;<B><I>Agreement</I></B>&rdquo;), dated as of&#9;December 31, 2021, is entered into by and between Co-Diagnostics,
Inc., a Utah corporation (&ldquo;<B><I>Parent</I></B>&rdquo; or the &ldquo;<B><I>Company</I></B>&rdquo;), and VStock Transfer, LLC (the
&ldquo;<B><I>Warrant Agent</I></B>&rdquo;).</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
Parent consummated a merger (the &ldquo;<B><I>Merger</I></B>&rdquo;) of its wholly-owned subsidiary, ACI Acquisition Corp. (&ldquo;<B><I>Subco</I></B>&rdquo;),
with and into Advanced Conceptions Inc., a Utah corporation (&ldquo;<B><I>Company</I></B>&rdquo;), pursuant to an Agreement and Plan
of Merger (as such agreement may be amended from time to time, the &ldquo;<B><I>Merger Agreement</I></B>&rdquo;), by and among Parent,
Company, and Subco;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
the Merger Agreement provides that the Company will issue warrants to purchase 232,500 shares of the Company&rsquo;s common stock, par
value $0.001 per share, (the &ldquo;<B><I>Parent Common Stock</I></B>&rdquo;) exercisable subject to satisfaction of certain milestones
and over a seven year period at an initial exercise price of $9.125 per share (the &ldquo;<B><I>Warrants</I></B>&rdquo; or the &ldquo;<B><I>Company
Warrants</I></B>&rdquo;);</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
the Company desires the Warrant Agent to act on behalf of the Company, and the Warrant Agent is willing to so act, in connection with
the issuance, transfer, exchange and exercise of the Warrants; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
the Company desires to provide for the form and provisions of the Warrants, the terms upon which they shall be issued and exercised,
and the respective rights, limitation of rights, and immunities of the Company, the Warrant Agent, and the holders of the Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">NOW,
THEREFORE, in consideration of the mutual agreements herein contained, the parties hereto agree as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
<B>Appointment of Warrant Agent and Depository</B>. The Company hereby appoints the Warrant Agent to act as agent for the Company for
the Company Warrants, and the Warrant Agent hereby accepts such appointment and agrees to perform the same in accordance with the terms
and conditions set forth in this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
<B>Warrants.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.1
<U>Issuance of Warrants</U>. Each Company Warrant will be uncertificated and in registered form only, substantially in the form of Exhibit
1, the provisions of which are incorporated herein. Any Warrant so issued shall have the same terms, force and effect as a certificated
Warrant that has been duly countersigned by the Warrant Agent in accordance with the terms of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.2
<U>Warrant Register</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
The Warrant Agent shall maintain books (&ldquo;<B><I>Warrant Register</I></B>&rdquo;) for the registration of the original issuance and
the registration of any subsequent transfer of the Warrants. Upon the initial issuance of the Warrants, the Warrant Agent shall issue
and register the Warrants in the names of the respective holders thereof in such denominations and otherwise in accordance with instructions
delivered to the Warrant Agent by the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
Prior to due presentment for registration of transfer of any Warrant in accordance with Section 5.1.1 below, the Company and the Warrant
Agent may deem and treat the person in whose name such Warrant is then registered in the Warrant Register (each a &ldquo;<B><I>registered
holder</I></B>&rdquo;) as the absolute owner of such Warrant, for the purpose of any exercise thereof, and for all other purposes, and
neither the Company nor the Warrant Agent shall be affected by any notice to the contrary.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
<B>Terms and Exercise of Warrants</B>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1
<U>Exercise Price</U>. For purposes of this Agreement, &ldquo;<B><I>Exercise Price</I></B>&rdquo; shall mean the initial exercise price
for each Warrant as set forth in the Exhibit 1, subject to adjustment as provided in Exhibit 1.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2
<U>Duration of Warrants</U>. A Warrant may be exercised only during the period (&ldquo;<B><I>Exercise Period</I></B>&rdquo;) specified
in Exhibit 1 or as the same may be extended as hereinafter provided. Each Warrant not exercised on or before the expiration date, as
set forth in Exhibit 1 (the &ldquo;<B><I>Expiration Date</I></B>&rdquo;), shall become void, and all rights thereunder and all rights
in respect thereof under this Agreement shall cease at the close of business on the Expiration Date.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3
<U>Exercise of Warrants</U>. Warrants may be exercised, at the option of the registered holder of the Warrant, in whole or in part, at
any time or from time to time during the Exercise Period, by complying with the Warrant Agent&rsquo;s procedures relating to the exercise
of such book-entry interest in the Warrants. In addition, the registered holder shall deliver to the Warrant Agent (the &ldquo;<B><I>Warrant
Agent Office</I></B>&rdquo;) (i) an exercise form set forth in the Warrant, executed by such registered holder or its duly authorized
agent or attorney (the &ldquo;<B><I>Exercise Form</I></B>&rdquo;) and (ii) payment of the aggregate Exercise Price. In case an exercise
of Warrants is in part only, the Warrant Agent shall make an appropriate adjustment to the account of the registered holder to reflect
a number of Warrants for the number of shares of Parent Common Stock equal (without giving effect to any adjustment thereof) to the number
of such shares called for by such registered holder&rsquo;s Warrants prior to such exercise, minus the number of shares designated by
the registered holder upon such exercise.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.1
<U>Payment</U>. Subject to the provisions of the Warrant and this Agreement, a Warrant may be exercised by the registered holder thereof
by delivering to the Warrant Agent at its corporate trust department (i) a warrant exercise form properly delivered by the registered
holder, and (iii) the payment in full of the Exercise Price for each share of Common Stock as to which the Warrant is exercised as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
in lawful money of the United States, in certified check or wire payable to the Warrant Agent; or</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
as provided in Section 7.5 hereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.2
<U>Procedures and Validity</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
Any exercise of a Warrant by a registered holder pursuant to the terms of this Agreement shall be irrevocable and shall constitute a
binding agreement between the registered holder and the Company, enforceable in accordance with its terms.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
The Warrant Agent shall:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
examine all Exercise Forms and all other documents delivered to it by or on behalf of registered holders as contemplated hereunder to
ascertain whether or not, on their face, such Exercise Forms and any such other documents have been executed and completed in accordance
with their terms and the terms hereof;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(ii)
where an Exercise Form or other document appears on its face to have been improperly completed or executed or some other irregularity
in connection with the exercise of the Warrants exists, the Warrant Agent shall endeavor to inform the appropriate parties (including
the person submitting such instrument) of the need for fulfillment of all requirements, specifying those requirements which appear to
be unfulfilled;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iii)
inform the Company of and cooperate with and assist the Company in resolving any reconciliation problems between the Exercise Forms received
and the crediting of Warrants to the respective registered holders&rsquo; accounts; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iv)
advise the Company no later than two (2) business days after receipt of an Exercise Form, of (i) the receipt of such Exercise Form and
the number of Warrants exercised in accordance with the terms and conditions of this Agreement, and (ii) such other information as the
Company shall reasonably require.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
All questions as to the validity, form and sufficiency (including time of receipt) of an exercised Warrant and any Exercise Form will
be determined by the Company in good faith. The Company reserves the right to reject any and all Exercise Forms not in proper form or
for which any corresponding agreement by the Company to exchange would, in the opinion of the Company, be unlawful. Moreover, the Company
reserves the absolute right to waive any of the conditions to the exercise of Warrants or defects in the exercise thereof with regard
to any particular exercise of Warrants. Other than as required in Section 3.3.2(b)(ii) above, neither the Company nor the Warrant Agent
shall be under any duty to give notice to the registered holders of the Warrants of any irregularities in any exercise of Warrants or
any Exercise Form, nor shall it incur any liability for the failure to give such notice.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.3
<U>Issuance of Shares</U>. As soon as practicable after the exercise of any Warrant and the clearance of the funds in payment of the
Exercise Price, the Company shall cause its Transfer Agent to issue to the registered holder of such Warrant a certificate or certificates,
or book entry position, representing the number of full shares of Parent Common Stock to which he, she or it is entitled, registered
in such name or names as may be directed by him, her or it. In the event that during the last 20 business days immediately prior to the
Expiration Date both (i) a registration statement with respect to the Parent Common Stock underlying the Warrants is not effective or
a current prospectus is not available and (ii) the Exercise Price of the Warrants is less than the price at which the Parent Common Stock
is trading on NASDAQ (or if the Parent Common Stock is no longer trading on NASDAQ, such other stock exchange on which the shares of
Parent Common Stock trades), the Exercise Period shall automatically be extended for a period of 20 business days after the date that
the Company causes a registration statement covering the Warrants and the Parent Common Stock underlying the Warrants to be effective
and a current prospectus is made available. In no event will the Company be required to &ldquo;net cash settle&rdquo; the warrant exercise.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>


<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.4
<U>Valid Issuance</U>. All shares of Parent Common Stock issued upon the proper exercise of a Warrant in conformity with this Agreement
shall be validly issued, fully paid and nonassessable.</FONT><P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.5
<U>Date of Issuance</U>. All shares of Parent Common Stock so issued shall be registered in the name of the registered holder or such
other name as shall be designated in the Exercise Form delivered by the registered holder. Such shares of Parent Common Stock shall be
deemed to have been issued and any person so designated to be named therein shall be deemed to have become the holder of record of such
shares of Parent Common Stock as of the date of delivery of the Exercise Form to the Warrant Agent Office duly executed by the registered
holder thereof and upon the Company&rsquo;s receipt of payment of the Exercise Price.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.
<B>Adjustments.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.1
<U>Adjustments Generally</U>. The Exercise Price, the number of shares of Parent Common Stock issuable upon exercise of the Warrants
and the number of Warrants outstanding are subject to adjustment from time to time upon the occurrence of certain events in accordance
with the provisions of Exhibit 1.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.2
<U>Notices of Vesting and Changes in Warrant</U>. Promptly upon the satisfaction of the vesting requirements of the Warrants pursuant
to the Merger Agreement, the Company shall deliver written notice of such vesting and exercisability to the Warrant Agent, which notice
shall state the date upon which such warrants shall vest and become exercisable. Upon every adjustment of (i) the Exercise Price, (ii)
the number of shares of Parent Common Stock issuable upon exercise of the Warrants and (iii) the number of Warrants outstanding, the
Company shall give written notice thereof to the Warrant Agent, which notice shall state the Exercise Price resulting from such adjustment
and the increase or decrease, if any, in the number of shares purchasable at such price upon the exercise of a Warrant, setting forth
in reasonable detail the method of calculation and the facts upon which such calculation is based. Upon the occurrence of any event specified
in the Warrant certificate then, in any such event, the Company shall give written notice to each registered holder, at the last address
set forth for such registered holder in the Warrant register maintained by the Warrant Agent, of the record date or the effective date
of the event. Failure to give such notice, or any defect therein, shall not affect the legality or validity of such event.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.3
<U>No Fractional Shares</U>. Notwithstanding any provision contained in this Agreement to the contrary, the Company shall not issue fractional
shares upon exercise of Warrants. If, by reason of any adjustment made pursuant to this Section 4, the registered holder of any Warrant
would be entitled, upon the exercise of such Warrant, to receive a fractional interest in a share, the Company shall, upon such exercise,
round up or down to the nearest whole number the number of shares of Parent Common Stock to be issued to the registered holder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.4
<U>Form of Warrant</U>. The form of Warrant certificate need not be changed as a result of any adjustment pursuant to this Section. However,
the Company may, at any time, in its sole discretion, make any change in the form of Warrant certificate that the Company may deem appropriate
and that does not affect the substance thereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
<B>Transfer and Exchange of Warrants.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1
<U>Exchange and Transfer.</U></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.1
The Warrant Agent shall keep, at the Warrant Agent Office, books in which, subject to such reasonable regulations as it may prescribe,
it shall register Warrants and exchanges and transfers of outstanding Warrants upon request to exchange or transfer such Warrants, provided,
that the Warrant Agent shall have received a written instruction of transfer or exchange in form reasonably satisfactory to the Warrant
Agent, duly executed by the registered holder thereof or by its or her or his duly authorized agent or attorney, providing all information
required to be delivered hereunder, such signature to be guaranteed by an eligible guarantor institution to the extent required by the
Warrant Agent or the Depository. Upon any such registration of transfer, a Warrant Statement shall be issued to the transferee.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.2
The Company shall pay for applicable service charges for any exchange or registration of transfer of Warrants; and the Warrant Agent
and/or the Company may require payment of a sum sufficient to cover any stamp or other tax or other charge that may be imposed in connection
with any such exchange or registration of transfer. Neither the Warrant Agent nor the Company shall be required to pay any stamp or other
tax or other charge required to be paid in connection with such transfer, and neither the Warrant Agent nor the Company shall be required
to issue or deliver any Warrants until it has been established to the Company&rsquo;s and the Warrant Agent&rsquo;s reasonable satisfaction
that such tax or other charge has been paid or that no such tax or other charge is due.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.3
The Warrant Agent shall not affect any exchange or registration of transfer which will result in the issuance of a Warrant evidencing
a fraction of a Warrant or a number of full Warrants and a fraction of a Warrant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.4
All Warrants credited to a registered holder&rsquo;s or transferee&rsquo;s account upon any exchange or transfer of Warrants in accordance
with the provisions of this Agreement shall be the valid obligations of the Company evidencing the same obligations, and entitled to
the same benefits under this Agreement, as the Warrants that were so exchanged or transferred.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.2
<U>Treatment of Holders of Warrants</U>. Each registered holder of Warrants, by accepting the same, consents and agrees with the Company,
the Warrant Agent and every subsequent registered holder of such Warrants that until the due presentment for registration of transfer
in accordance with Section 5.1.1 of such Warrants, the Company and the Warrant Agent may treat the registered holder of such Warrants
as the absolute owner thereof for any purpose and as the person entitled to exercise the rights represented by the Warrants evidenced
thereby, any notice to the contrary notwithstanding.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.3
<U>Procedure for Surrender of Warrants</U>. Warrants may be surrendered to the Warrant Agent, either in certificated form or in book
entry position, together with a written request for exchange or transfer, and thereupon the Warrant Agent shall issue in exchange therefor
one or more new Warrants, or book entry positions, as requested by the registered holder of the Warrants so surrendered, representing
an equal aggregate number of Warrants; provided, however, that in the event that a Warrant surrendered for transfer bears a restrictive
legend, the Warrant Agent shall not cancel such Warrant and issue new Warrants in exchange therefor until the Warrant Agent has received
an opinion of counsel stating that such transfer may be made and indicating whether the new Warrants must also bear a restrictive legend.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.4
<U>Cancellation of Warrants</U>. Promptly following the Expiration Date or at such earlier time that there are no longer outstanding
any Warrants, the Warrant certificate shall be cancelled or destroyed and the Warrant Agent shall deliver a certificate of such cancellation
or destruction to the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.
[Omitted].</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.
<B>Other Provisions Relating to Rights of Holders of Warrants</B>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.1
<U>No Rights as Stockholder</U>. No Warrant shall, and nothing contained in this Agreement, in the Warrant certificate or in the Warrant
Statement shall be construed to, entitle the registered holder or any beneficial owner thereof to any of the rights of a holder or beneficial
owner of Parent Common Stock, including, without limitation, the right to vote or to consent or to receive notice as a stockholder in
respect of any meeting of stockholders for the election of directors of the Company or any other matter, to receive dividends on Parent
Common Stock or any rights whatsoever as stockholders of the Company, until such Warrant is duly exercised in accordance with this Agreement
and such registered holder is issued the Parent Common Stock to which it is entitled in connection therewith.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.2
<U>Reservation of Common Stock</U>. The Company shall at all times reserve and keep available a number of its authorized but unissued
shares of Parent Common Stock that will be sufficient to permit the exercise in full of all outstanding Warrants issued pursuant to this
Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.3
<U>[Omitted]</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.4
<U>Limitation on Monetary Damages</U>. In no event shall the registered holder of a Warrant be entitled to receive monetary damages for
failure to settle any Warrant exercise if the Parent Common Stock issuable upon exercise of the Warrants has not been registered with
the SEC pursuant to an effective registration statement or if a current prospectus is not available for delivery by the Warrant Agent,
provided the Company has fulfilled its obligations under Section 7.5 to use its commercially reasonable efforts to effect the registration
under the Securities Act of 1933 (the &ldquo;<B><I>Securities Act</I></B>&rdquo;) of the Parent Common Stock issuable upon exercise of
the Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>


<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.5
<U>Registration of Shares of Common Stock; Cashless Exercise at Company&rsquo;s Option</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.5.1
<U>Registration of the shares of Common Stock</U>. If the Company shall fail to have maintained an effective registration statement covering
the issuance of the shares of Common Stock issuable upon exercise of the Warrants as required under the Merger Agreement, the registered
holders shall have the right to exercise such Warrants on a &ldquo;cashless basis,&rdquo; by exchanging the Warrants (in accordance with
Section 3(a)(9) of the Securities Act or another exemption) for that number of shares of Common Stock equal to the quotient obtained
by dividing (x) the product of the number of shares of Common Stock underlying the Warrants, multiplied by the excess of the &ldquo;Fair
Market Value&rdquo; (as defined below) less the Exercise Price by (y) the Fair Market Value. Solely for purposes of this subsection 7.5.1,
&ldquo;Fair Market Value&rdquo; shall mean the volume-weighted average price of the shares of Common Stock as reported during the ten
(10) trading day period ending on the trading day prior to the date that notice of exercise is received by the Warrant Agent from the
registered holder of such Warrants or its securities broker or intermediary. The date that notice of &ldquo;cashless exercise&rdquo;
is received by the Warrant Agent shall be conclusively determined by the Warrant Agent. In connection with the &ldquo;cashless exercise&rdquo;
of a Warrant, the Company shall, upon request, provide the Warrant Agent with an opinion of counsel for the Company (which shall be an
outside law firm with securities law experience) stating that (i) the exercise of the Warrants on a &ldquo;cashless basis&rdquo; in accordance
with this subsection 7.5.1 is not required to be registered under the Securities Act and (ii) the shares of Common Stock issued upon
such exercise shall be freely tradable under United States federal securities laws by anyone who is not an affiliate (as such term is
defined in Rule 144 under the Securities Act) of the Company and, accordingly, shall not be required to bear a restrictive legend. Except
as provided in subsection 7.5.2, for the avoidance of doubt, unless and until all of the Warrants have been exercised or have expired,
the Company shall continue to be obligated to comply with its registration obligations under the first three sentences of this subsection
7.5.1</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.5.1
<U>Cashless Exercise at Company&rsquo;s Option</U>. If the shares of Common Stock are at the time of any exercise of a Warrant not listed
on a national securities exchange such that they satisfy the definition of a &ldquo;covered security&rdquo; under Section 18(b)(1) of
the Securities Act, the Company may, at its option, (i) require holders of Warrants who exercise such Warrants to exercise such Warrants
on a &ldquo;cashless basis&rdquo; in accordance with Section 3(a)(9) of the Securities Act as described in subsection 7.5.1 and (ii)
in the event the Company so elects, the Company shall (x) not be required to file or maintain in effect a registration statement for
the registration, under the Securities Act, of the shares of Common Stock issuable upon exercise of the Warrants, notwithstanding anything
in this Agreement to the contrary, and (y) use its commercially reasonable efforts to register or qualify for sale the shares of Common
Stock issuable upon exercise of the Warrant under applicable blue sky laws to the extent an exemption is not available..</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.
<B>Concerning the Warrant Agent and Other Matters.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.1
<U>Payment of Taxes</U>. The Company will from time to time promptly pay all taxes and charges that may be imposed upon the Company or
the Warrant Agent in respect of the issuance or delivery of shares of Parent Common Stock upon the exercise of Warrants, but the Company
shall not be obligated to pay any transfer taxes in respect of the Warrants or such shares.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>


<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2
<U>Resignation, Consolidation, or Merger of Warrant Agent</U><B>.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2.1
<U>Appointment of Successor Warrant Agent</U>. The Warrant Agent, or any successor to it hereafter appointed, may resign its duties and
be discharged from all further duties and liabilities hereunder after giving sixty (60) days&rsquo; notice in writing to the Company
and to each registered holder. If the office of the Warrant Agent becomes vacant by resignation or incapacity to act or otherwise, the
Company shall appoint in writing a successor Warrant Agent in place of the Warrant Agent. If the Company shall fail to make such appointment
within a period of 30 days after it has been notified in writing of such resignation or incapacity by the Warrant Agent or by any registered
holder of a Warrant, then the registered holder of any Warrant may apply to the Supreme Court of the State of New York for the County
of New York for the appointment of a successor Warrant Agent at the Company&rsquo;s cost. Any successor Warrant Agent, whether appointed
by the Company or by such court, shall be a corporation organized and existing under the laws of the State of New York, in good standing
and having its principal office in the Borough of Manhattan, City and State of New York, and authorized under such laws to exercise corporate
trust powers and subject to supervision or examination by federal or state authority. After appointment, any successor Warrant Agent
shall be vested with all the authority, powers, rights, immunities, duties, and obligations of its predecessor Warrant Agent with like
effect as if originally named as Warrant Agent hereunder, without any further act or deed; but if for any reason it becomes necessary
or appropriate, the predecessor Warrant Agent shall execute and deliver, at the expense of the Company, an instrument transferring to
such successor Warrant Agent all the authority, powers, and rights of such predecessor Warrant Agent hereunder; and upon request of any
successor Warrant Agent the Company shall make, execute, acknowledge, and deliver any and all instruments in writing for more fully and
effectually vesting in and confirming to such successor Warrant Agent all such authority, powers, rights, immunities, duties, and obligations.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2.2
<U>Notice of Successor Warrant Agent</U>. In the event a successor Warrant Agent shall be appointed, the Company shall give notice thereof
to each registered holder, the predecessor Warrant Agent and the transfer agent for the Parent Common Stock not later than the effective
date of any such appointment.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2.3
<U>Merger or Consolidation of Warrant Agent</U>. Any corporation into which the Warrant Agent may be merged or with which it may be consolidated
or any corporation resulting from any merger or consolidation to which the Warrant Agent shall be a party shall be the successor Warrant
Agent under this Agreement without any further act.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3
<B>Fees and Expenses of Warrant Agent.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3.1
<U>Remuneration</U>. The Company agrees to pay the Warrant Agent reasonable remuneration for its services as such Warrant Agent hereunder
and will reimburse the Warrant Agent upon demand for all expenditures that the Warrant Agent may reasonably incur in the execution of
its duties hereunder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3.2
<U>Further Assurances.</U> The Company agrees to perform, execute, acknowledge and deliver or cause to be performed, executed, acknowledged
and delivered all such further and other acts, instruments and assurances as may reasonably be required by the Warrant Agent for the
carrying out or performing of the provisions of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4
<B>Liability of Warrant Agent.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4.1
<U>Reliance on Company Statement</U>. Whenever in the performance of its duties under this Agreement the Warrant Agent shall deem it
necessary or desirable that any fact or matter be proved or established by the Company prior to taking or suffering any action hereunder,
such fact or matter (unless other evidence in respect thereof be herein specifically prescribed) may be deemed to be conclusively proved
and established by a statement signed by the General Counsel, President or Chairman of the Board of Directors of the Company and delivered
to the Warrant Agent. The Warrant Agent may rely upon such statement for any action taken or suffered in good faith by it pursuant to
the provisions of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 8 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4.2
<U>Indemnity</U>. The Warrant Agent shall be liable hereunder only for its own gross negligence, willful misconduct or bad faith. The
Company agrees to indemnify the Warrant Agent and save it harmless against any and all liabilities, including judgments, costs and reasonable
counsel fees, for anything done or omitted by the Warrant Agent in the execution of this Agreement, except as a result of the Warrant
Agent&rsquo;s gross negligence, willful misconduct or bad faith.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4.3
<U>Exclusions</U>. The Warrant Agent shall have no responsibility with respect to the validity of this Agreement or with respect to the
validity or execution of any Warrant (except its countersignature thereof); nor shall it be responsible for any breach by the Company
of any covenant or condition contained in this Agreement or in any Warrant; nor shall it be responsible to make any adjustments required
under the provisions of Section 4 hereof or responsible for the manner, method or amount of any such adjustment or the ascertaining of
the existence of facts that would require any such adjustment; nor shall it by any act hereunder be deemed to make any representation
or warranty as to the authorization or reservation of any shares of Parent Common Stock to be issued pursuant to this Agreement or any
Warrant or as to whether any shares of Parent Common Stock will when issued be valid and fully paid and nonassessable.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.5
<U>Acceptance of Agency</U>. The Warrant Agent hereby accepts the agency established by this Agreement and agrees to perform the same
upon the terms and conditions herein set forth and, among other things, shall account promptly to the Company with respect to Warrants
exercised and concurrently account for, and pay to the Company, all moneys received by the Warrant Agent for the purchase of shares of
Parent Common Stock through the exercise of Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.
<B>Miscellaneous Provisions.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.1
Successors. All the covenants and provisions of this Agreement by or for the benefit of the Company or the Warrant Agent shall bind and
inure to the benefit of their respective successors and assigns.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.2
Notices. Any notice, statement or demand authorized by this Agreement to be given or made by the Warrant Agent or by the registered holder
of any Warrant to or on the Company shall be delivered by hand or sent by registered or certified mail or overnight courier service,
addressed (until another address is filed in writing by the Company with the Warrant Agent) as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2401
South Foothill Dr., Suite D</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Salt
Lake City, UT 84109</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Telephone:
801-438-1036</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attention:
President</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 9 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attention:
General Counsel</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
notice, statement or demand authorized by this Agreement to be given or made by the registered holder of any Warrant or by the Company
to or on the Warrant Agent shall be delivered by hand or sent by registered or certified mail or overnight courier service, addressed
(until another address is filed in writing by the Company with the Warrant Agent) as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VStock
Transfer, LLC</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18
Lafayette Place</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Woodmere,
New York 11598</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attn:
Compliance Department</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
notice, sent pursuant to this Agreement shall be effective, if delivered by hand, upon receipt thereof by the party to whom it is addressed,
if sent by overnight courier, on the next business day of the delivery to the courier, and if sent by registered or certified mail on
the third day after registration or certification thereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.3
<U>Notices to Holders of Warrants</U>. Any notice to registered holders of Warrants which by any provisions of this Warrant Agreement
or the Warrant certificate is required or permitted to be given shall be given by first class mail prepaid at such registered holder&rsquo;s
address as it appears on the books of the Warrant Agent.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.4
<U>Applicable Law</U>. The validity, interpretation and performance of this Agreement and of the Warrants shall be governed in all respects
by the laws of the State of New York, without giving effect to conflicts of law principles that would result in the application of the
substantive laws of another jurisdiction. The Company hereby agrees that any action, proceeding or claim against it arising out of or
relating in any way to this Agreement shall be brought and enforced in the courts located or situated in New York, New York or the United
States District Court for the Southern District of New York, and irrevocably submits to such jurisdiction, which jurisdiction shall be
exclusive. The Company hereby waives any objection to such exclusive jurisdiction and that such courts represent an inconvenient forum.
Any such process or summons to be served upon the Company may be served by transmitting a copy thereof by registered or certified mail,
return receipt requested, postage prepaid, addressed to it at the address set forth in Section 9.2 hereof. Such mailing shall be deemed
personal service and shall be legal and binding upon the Company in any action, proceeding or claim.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.5
<U>Persons Having Rights under this Agreement</U>. Nothing in this Agreement expressed and nothing that may be implied from any of the
provisions hereof is intended, or shall be construed, to confer upon, or give to, any person or corporation other than the parties hereto
and the registered holders of the Warrants, any right, remedy, or claim under or by reason of this Agreement or of any covenant, condition,
stipulation, promise, or agreement hereof. All covenants, conditions, stipulations, promises, and agreements contained in this Agreement
shall be for the sole and exclusive benefit of the parties hereto and their successors and assigns and of the registered holders of the
Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 10 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.6
<U>Examination of the Warrant Agreement</U>. A copy of this Agreement shall be available at all reasonable times at the office of the
Warrant Agent in the Borough of Manhattan, City and State of New York, for inspection by the registered holder of any Warrant. The Warrant
Agent may require any such registered holder to submit his, her or its Warrant Statements for inspection by it.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.7
<U>Counterparts</U>. This Agreement may be executed in any number of original or facsimile counterparts and each of such counterparts
shall for all purposes be deemed to be an original, and all such counterparts shall together constitute but one and the same instrument.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.8
<U>Effect of Headings</U>. The section headings herein are for convenience only and are not part of this Agreement and shall not affect
the interpretation thereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.9
<U>Amendments</U>. This Agreement may be amended by the parties hereto without the consent of any registered holder for the purpose of
curing any ambiguity, or curing, correcting or supplementing any defective provision contained herein or adding or changing any other
provisions with respect to matters or questions arising under this Agreement as the parties may deem necessary or desirable and provided
such amendment shall not adversely affect the interest of the registered holders. All other modifications, adjustments or amendments
of this Agreement, shall require the written consent of the registered holders of a majority of the then outstanding Warrants provided
that no amendment to the Warrant certificate shall be effective to charge any registered holder who has not consented thereto. The Warrant
Agent may request from either the Company or the registered holders an opinion of counsel with respect to the validity of any amendment
as a condition to its exercise of any amendment.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.10
<U>Severability</U>. Whenever possible, each provision of this Agreement shall be interpreted in such manner as to be effective and valid
under applicable law, but if any provision of this Agreement is held to be prohibited by or invalid under applicable law, such provision
shall be ineffective only to the extent of such prohibition or invalidity, without invalidating the remainder of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[Signature
page follows]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 11 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN
WITNESS WHEREOF, this Agreement has been duly executed by the parties hereto as of the day and year first above written.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CO-DIAGNOSTICS, INC.</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 45%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid"></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VSTOCK TRANSFER, LLC</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid"></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[Signature Page to Warrant Agreement]</FONT></TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 12 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">EXHIBIT
1 TO COMPANY WARRANT AGREEMENT</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">FORM
OF GLOBAL WARRANT CERTIFICATE FOR COMPANY WARRANTS</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">EXERCISABLE
ONLY IF AUTHENTICATED BY THE WARRANT AGENT AS PROVIDED HEREIN</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VOID
AFTER THE CLOSE OF BUSINESS ON _______________, 20__ OF CO-DIAGNOSTICS, INC.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Global
Warrant Certificate representing Warrants to purchase __________ shares of common stock, par value $0.001 per share, as described herein</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">NEITHER
THIS SECURITY NOR ANY INTEREST OR PARTICIPATION HEREIN MAY BE SOLD, ASSIGNED, TRANSFERRED, ENCUMBERED, OR OTHERWISE DISPOSED OF, EXCEPT
PURSUANT TO AN EFFECTIVE REGISTRATION STATEMENT UNDER THE SECURITIES ACT OR AN OPINION OF COUNSEL REASONABLY SATISFACTORY TO THE CORPORATION
THAT SUCH REGISTRATION IS NOT REQUIRED.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each
Warrant (each a &ldquo;<B><I>Warran</I></B>t&rdquo;) represented hereby, entitles the registered holder to purchase one share (the &ldquo;<B><I>Warrant
Share</I></B>&rdquo;) of common stock, $0.001 par value (the &ldquo;<B><I>Common Stock</I></B>&rdquo;), of Co-Diagnostics, Inc., a Utah
corporation, (the &ldquo;<B><I>Corporation</I></B>&rdquo;) for the benefit of certain registered holders (as defined in the Warrant Agreement)
of such Warrants on the following terms. This Global Warrant Certificate represents the number of outstanding Warrants from time to time
endorsed hereon and the number of outstanding Warrants represented hereby may from time to time be reduced or increased, as appropriate
to reflect exchanges, redemptions, exercises and other similar transactions. This Global Warrant Certificate is issued under and in accordance
with that certain Warrant Agreement dated as of December 30, 2021 by and between the Corporation and VStock Transfer, LLC (as such agreement
may be amended from time to time, the &ldquo;<B><I>Warrant Agreement</I></B>&rdquo;), and is subject to the terms and provisions contained
therein, all of which terms and provisions the registered holders consent to by acceptance of their book-entry interests in the Global
Warrant Certificate. Copies of the Warrant Agreement are on file at the Corporation&rsquo;s headquarters. In the event of any conflict
or inconsistency between this Global Warrant Certificate and the Warrant Agreement, this Global Warrant Certificate shall control. Capitalized
terms used and not otherwise defined herein shall have the meanings set forth in the Warrant Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Global Warrant Certificate is also issued under and in accordance with that certain Agreement and Plan of Merger (as such agreement may
be amended from time to time, the &ldquo;<B><I>Merger Agreement</I></B>&rdquo;), by and among Co-Diagnostics, Inc., a Utah corporation,
Advanced Conceptions, Inc., a Utah corporation, and ACI Acquisition Corp., and is subject to the terms and provisions contained therein.
In the event of any conflict or inconsistency between this Global Warrant Certificate and the Merger Agreement, the Merger Agreement
shall control.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 13 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
<U>Exercise Period</U>. The Warrants shall vest in full and become exercisable immediately following either (i) satisfaction of Milestone
3 as such term is defined in the Merger Agreement or (ii) upon the occurrence of any of the events described in Section 3.1(e) of the
Merger Agreement (any such date, the &ldquo;<B><I>Vesting Date</I></B>&rdquo;). Promptly upon the satisfaction of clauses (i) or (ii),
the Corporation shall notify the Warrant Agent that the vesting conditions have been satisfied and the Vesting Date upon which the Warrants
shall become fully exercisable pursuant to the notice provision in the Warrant Agreement. Either the Corporation or the registered holder
may certify to the Warrant Agent in a form satisfactory to the Warrant Agent the occurrence of the Vesting Date. Notwithstanding anything
to the contrary contained herein, the Warrants shall expire at 5:00 p.m. (New York Time) on January 1, 2027 (the &ldquo;<B><I>Termination
Date</I></B>&rdquo;). Parent will provide registered holder at least fifteen (15) days&rsquo; written notice prior to the consummation
of any of the events described in Section 3.1(e) of the Merger Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
<U>Exercise of Warrants</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
The registered holder may, at any time on or after the Vesting Date and prior to the Termination Date, exercise this Warrant in whole
or in part at an exercise price per share equal to $9.125 (subject to proportionate adjustment in accordance with Section 6) (the &ldquo;<B><I>Exercise
Price</I></B>&rdquo;), by the delivery of the Warrant Exercise Form annexed hereto duly completed and executed to the Warrant Agent at
the Warrant Agent Office or at such other agency or office of the Corporation in the United States of America as the Corporation may
designate by notice in writing to the registered holder at the address of such registered holder appearing on the books of the Corporation.
Upon any partial exercise of a Warrant, the Warrant Agent shall make an appropriate adjustment to the account of the registered holder
to reflect a number of Warrant Shares for the account of the registered holder equal (without giving effect to any adjustment thereof)
to the number of Warrant Shares subject to such registered holder&rsquo;s Warrants prior to such exercise, minus the number of Warrant
Shares exercised by the registered holder. In the event of the exercise of the rights represented by any Warrant, a certificate or certificates
for the Warrant Shares so purchased, as and if applicable, registered in the name of the registered holder, shall be delivered to the
registered holder hereof as soon as practicable after the exercise of such Warrant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
Payment to the Corporation of the Exercise Price for each share of Common Stock being purchased shall be made either (i) by wire transfer
or cashier&rsquo;s check drawn on a United States bank payable to the Corporation (to an account as designated by the Warrant Agent by
notice in writing to the registered holders); or (ii) by instructing the Warrant Agent to issue Warrant Shares upon exercise of all or
any part of this Warrant on a net basis such that, without payment of any cash consideration or other immediately available funds, the
registered holder shall surrender this Warrant in exchange for the number of Warrant Shares equal to the quotient obtained by dividing
(x) the product of the number of shares of Common Stock underlying the Warrants, multiplied by the excess of the &ldquo;Fair Market Value&rdquo;
(as defined below) less the Exercise Price by (y) the Fair Market Value. &ldquo;Fair Market Value&rdquo; shall mean the volume-weighted
average price of the shares of Common Stock as reported during the ten (10) trading day period ending on the trading day prior to the
date that notice of exercise is received by the Warrant Agent from the registered holder of such Warrants or its securities broker or
intermediary.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 14 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
<U>Reservation of Warrant Shares</U>. The Corporation agrees that, prior to the expiration of this Warrant, it will at all times have
authorized and in reserve, and will keep available, solely for issuance or delivery upon the exercise of all outstanding Warrants represented
by this Global Warrant Certificate, the number of Warrant Shares as from time to time shall be issuable by the Corporation upon the exercise
of this Warrant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.
<U>No Stockholder Rights; No Rights to Net Cash Settled</U>. No Warrant shall entitle the registered holder hereof to any voting rights
or other rights as a stockholder of the Corporation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
<U>Transferability of Warrant and Underlying Shares</U>. Prior to the Termination Date and subject to compliance with applicable Federal
and State securities laws, this Warrant and all rights hereunder are transferable, in whole or in part, at the office or agency of the
Corporation by the registered holder in person or by duly authorized attorney in accordance with the provisions of the Warrant Agreement
and upon delivery of the Assignment Form annexed hereto properly endorsed for transfer. The Corporation or the Warrant Agent shall be
entitled to require, as a condition of any such transfer, that the registered holder and the transferee execute or provide such documents
and make such representations and warranties as the Corporation or the Warrant Agent may deem appropriate to evidence compliance with
applicable Federal and State securities laws.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6.
<U>Certain Adjustments</U>. With respect to any rights that any registered holder has to exercise any Warrant and convert into shares
of Common Stock, registered holder shall be entitled to the following adjustments:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<U>Merger or Consolidation</U>. If at any time there shall be a merger or a consolidation of the Corporation with or into another entity
when the Corporation is not the surviving corporation, then, as part of such merger or consolidation, lawful provision shall be made
so that the registered holder hereof shall thereafter be entitled to receive upon exercise of each Warrant, during the period specified
herein and upon payment of the aggregate Exercise Price then in effect, the number of shares of stock or other securities or property
(including cash) of the successor corporation resulting from such merger or consolidation, to which the registered holder hereof as the
registered holder of the stock deliverable upon exercise of each Warrant would have been entitled in such merger or consolidation if
each Warrant had been exercised immediately before such transaction. In any such case, appropriate adjustment shall be made in the application
of the provisions of each Warrant with respect to the rights and interests of the registered holder hereof as the registered holder of
each Warrant after the merger or consolidation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<U>Reclassification, Recapitalization, etc</U>. If the Corporation at any time shall, by subdivision, combination or reclassification
of securities, recapitalization, automatic conversion, or other similar event affecting the number or character of outstanding shares
of Common Stock, or otherwise, change any of the securities as to which purchase rights under each Warrant exist into the same or a different
number of securities of any other class or classes, each Warrant shall thereafter represent the right to acquire such number and kind
of securities as would have been issuable as the result of such change with respect to the securities that were subject to the purchase
rights under each Warrant immediately prior to such subdivision, combination, reclassification or other change and the Exercise Price
shall be proportionately adjusted.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 15 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<U>Split or Combination of Common Stock and Stock Dividend</U>. In case the Corporation shall at any time subdivide, redivide, recapitalize,
split (forward) or change its outstanding shares of Common Stock into a greater number of shares or declare a dividend upon its Common
Stock payable solely in shares of Common Stock, the Exercise Price shall be proportionately reduced and the number of Warrant Shares
proportionately increased. Conversely, in case of a reverse stock split or the outstanding shares of Common Stock of the Corporation
shall be combined into a smaller number of shares, the Exercise Price shall be proportionately increased and the number of Warrant Shares
proportionately reduced.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<U>Notices of Changes in Warrant</U>. Upon every adjustment of (i) the Exercise Price, (ii) the number of shares of Parent Common Stock
issuable upon exercise of this Global Warrant Certificate and (iii) the number of Warrants outstanding, the Corporation shall give written
notice thereof to the registered holder, which notice shall state the Exercise Price resulting from such adjustment and the increase
or decrease, if any, in the number of shares purchasable at such price upon the exercise of this Warrant, setting forth in reasonable
detail the method of calculation and the facts upon which such calculation is based. Upon the occurrence of any event specified in this
Global Warrant Certificate then, in any such event, the Corporation shall give written notice to the registered holder, at the last address
set forth for such registered holder in the Warrant register maintained by the Warrant Agent, of the record date or the effective date
of the event. Failure to give such notice, or any defect therein, shall not affect the legality or validity of such event.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.
<U>Compliance with Securities Laws; Legend and Stop Transfer Orders</U>. Unless the Warrant Shares are subject to an effective registration
statement under the Securities Act, upon exercise of any part of any Warrant represented hereby, (i) the Corporation shall be entitled
to require that the registered holder make such representations and warranties as may be reasonably required by the Corporation to assure
that the issuance of Warrant Shares is exempt from the registration requirements of applicable securities laws and (ii) the Corporation
shall instruct its transfer agent to enter stop transfer orders with respect to such Warrant Shares, and the Warrant Shares shall bear
on the face thereof substantially the following legend:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">THE
SECURITIES EVIDENCED BY THIS CERTIFICATE HAVE NOT BEEN REGISTERED UNDER THE U.S. SECURITIES ACT OF 1933, AS AMENDED (THE &ldquo;SECURITIES
ACT&rdquo;), OR ANY OTHER APPLICABLE SECURITIES LAWS AND HAVE BEEN ISSUED IN RELIANCE UPON AN EXEMPTION FROM THE REGISTRATION REQUIREMENTS
OF THE SECURITIES ACT AND SUCH OTHER SECURITIES LAWS. NEITHER THIS SECURITY NOR ANY INTEREST OR PARTICIPATION HEREIN MAY BE SOLD, ASSIGNED,
TRANSFERRED, ENCUMBERED, OR OTHERWISE DISPOSED OF, EXCEPT PURSUANT TO AN EFFECTIVE REGISTRATION STATEMENT UNDER THE SECURITIES ACT OR
AN OPINION OF COUNSEL REASONABLY SATISFACTORY TO THE CORPORATION THAT SUCH REGISTRATION IS NOT REQUIRED.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.
<U>Miscellaneous</U>. This Global Warrant Certificate and each Warrant represented hereby shall be governed by and construed in accordance
with the laws of the State of Utah. All the covenants and provisions of this Global Warrant Certificate and each Warrant by or for the
benefit of the Corporation shall bind and inure to the benefit of its successors and assigns hereunder. Nothing in this global Warrant
Certificate shall be construed to give to any person or corporation other than the Corporation and the registered holder of each Warrant
represented hereby any legal or equitable right, remedy, or claim under this Global Warrant Certificate and each Warrant represented
hereby. This Global Warrant Certificate and each Warrant represented hereby shall be for the sole and exclusive benefit of the Corporation
and the registered holder. The section headings herein are for convenience only and are not part of this Global Warrant Certificate and
shall not affect the interpretation hereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.
<U>Validity</U>. This Warrant Certificate shall not be valid or obligatory for any purpose until authenticated by the Warrant Agent.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN
WITNESS WHEREOF, the Corporation has caused this Global Warrant Certificate to be executed by its duly authorized officer, this _____
day of __________ 2021.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 85%; margin-left: 0.5in">
<TR STYLE="vertical-align: top">
    <TD COLSPAN="2"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CO-DIAGNOSTICS, INC.</FONT></TD>
  <TD STYLE="text-align: justify"></TD></TR>

<TR STYLE="vertical-align: top">
    <TD STYLE="width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
  <TD STYLE="text-align: justify; width: 45%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
  <TD STYLE="text-align: justify; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
<TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
  <TD STYLE="border-bottom: Black 1.5pt solid"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>

<TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>

<TR STYLE="vertical-align: top">
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
  <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Executive Officer</FONT></TD>
  <TD STYLE="text-align: justify"></TD></TR>
</TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 16 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certificate
of Authentication</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
is the Global Warrant Certificate for the Warrants referred to in the within-mentioned Warrant Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VSTOCK
TRANSFER, LLC, as Warrant Agent</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Authorized
Signature</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[TO
BE ATTACHED TO GLOBAL WARRANT CERTIFICATE] SCHEDULE OF INCREASES OR DECREASES IN WARRANT CERTIFICATE</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following increases or decreases in this Warrant have been made:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of decrease in the number of Warrants represented by this Warrant</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of increase in number of Warrants represented by this Warrant</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Number
of Warrants represented by this Warrant following such decrease or increase.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
of authorized officer of the depository</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 17 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">FORM
OF EXERCISE FORM</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
Be Executed by the registered holder in Order to Exercise Company Warrant</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
undersigned hereby irrevocably elects to exercise the right, represented by the book-entry Warrant(s), to purchase&#9;shares of the Common
Stock of Co-Diagnostics, Inc. (the &ldquo;<B><I>Warrant Shares</I></B>&rdquo;) and the undersigned herewith makes payment of the full
purchase price for such shares at the price per share provided for in such Warrant in accordance with the terms of the Warrant Agreement.
Such payment takes the form of $__________ in lawful money of the United States.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the event that the registered holder wishes to exercise through cashless exercise (i) the number of Warrant Shares that this Warrant
is exercisable for would be determined in accordance with Section 2(b) of this Global Warrant Certificate which allows for such cashless
exercise and (ii) the registered holder hereof shall complete the following: The undersigned hereby irrevocably elects to exercise the
right, represented by this Global Warrant Certificate, through the cashless exercise provisions hereof, to receive Warrant Shares.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
undersigned hereby requests that certificates for the Warrant Shares purchased be issued in the name of:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
print or type name and address)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
insert social security or other identifying number)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
be delivered as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
print or type name and address)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
insert social security or other identifying number)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
if such number of shares of Common Stock shall not be all the shares evidenced by this Global Warrant Certificate, that a new Warrant
for the balance of such shares be registered in the name of, and delivered to, registered holder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
of Holder</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">SIGNATURE
GUARANTEE:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Warrant may be exercised by delivering the Exercise Form to VStock Transfer, LLC at the following addresses:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By
mail at</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">___________</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.25in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9;[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#9;]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 18 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[FORM
OF ASSIGNMENT]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(TO
BE EXECUTED TO TRANSFER THE WARRANT)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
value received, hereby sells, assigns and transfers unto the Assignee(s) named below the rights represented by such number of Company
Warrants listed opposite the respective name(s) of the Assignee(s) named below and all other rights of the registered holder with respect
to such Warrants, and does hereby irrevocably constitute and appoint _______________ attorney, to transfer said Warrant on the books
of the Depositary and/or the Warrant Agent with respect to the number of Warrants set forth below, with full power of substitution:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name(s)
of</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assignee(s)
Address No. of Warrants</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
_____________</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Signed
exactly as name appears in the records of the Depositary)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
Guarantee:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 19; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.7
<SEQUENCE>5
<FILENAME>ex10-7.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
10.7</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">COMPANY
WARRANT AGREEMENT</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">THIS
WARRANT AGREEMENT (this &ldquo;<B><I>Agreement</I></B>&rdquo;), dated as of&#9;December 31, 2021, is entered into by and between Co-Diagnostics,
Inc., a Utah corporation (&ldquo;<B><I>Parent</I></B>&rdquo; or the &ldquo;<B><I>Company</I></B>&rdquo;), and VStock Transfer, LLC (the
&ldquo;<B><I>Warrant Agent</I></B>&rdquo;).</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
Parent consummated a merger (the &ldquo;<B><I>Merger</I></B>&rdquo;) of its wholly-owned subsidiary, IDMO Acquisition Corporation, Inc.
(&ldquo;<B><I>Subco</I></B>&rdquo;), with and into Idaho Molecular Inc., an Idaho corporation (&ldquo;<B><I>Company</I></B>&rdquo;),
pursuant to an Agreement and Plan of Merger (as such agreement may be amended from time to time, the &ldquo;<B><I>Merger Agreement</I></B>&rdquo;),
by and among Parent, Company, and Subco;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
the Merger Agreement provides that the Company will issue warrants to purchase 232,500 shares of the Company&rsquo;s common stock, par
value $0.001 per share, (the &ldquo;<B><I>Parent Common Stock</I></B>&rdquo;) exercisable subject to satisfaction of certain milestones
and over a seven year period at an initial exercise price of $9.125 per share (the &ldquo;<B><I>Warrants</I></B>&rdquo; or the &ldquo;<B><I>Company
Warrants</I></B>&rdquo;);</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
the Company desires the Warrant Agent to act on behalf of the Company, and the Warrant Agent is willing to so act, in connection with
the issuance, transfer, exchange and exercise of the Warrants; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">WHEREAS,
the Company desires to provide for the form and provisions of the Warrants, the terms upon which they shall be issued and exercised,
and the respective rights, limitation of rights, and immunities of the Company, the Warrant Agent, and the holders of the Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">NOW,
THEREFORE, in consideration of the mutual agreements herein contained, the parties hereto agree as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1. <B>Appointment
of Warrant Agent and Depository</B>. The Company hereby appoints the Warrant Agent to act as agent for the Company for the Company Warrants,
and the Warrant Agent hereby accepts such appointment and agrees to perform the same in accordance with the terms and conditions set
forth in this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2. <B>Warrants.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.1 <U>Issuance
of Warrants</U>. Each Company Warrant will be uncertificated and in registered form only, substantially in the form of Exhibit 1, the
provisions of which are incorporated herein. Any Warrant so issued shall have the same terms, force and effect as a certificated Warrant
that has been duly countersigned by the Warrant Agent in accordance with the terms of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.2 <U>Warrant
Register</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a) The
Warrant Agent shall maintain books (&ldquo;<B><I>Warrant Register</I></B>&rdquo;) for the registration of the original issuance and the
registration of any subsequent transfer of the Warrants. Upon the initial issuance of the Warrants, the Warrant Agent shall issue and
register the Warrants in the names of the respective holders thereof in such denominations and otherwise in accordance with instructions
delivered to the Warrant Agent by the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
Prior to due presentment for registration of transfer of any Warrant in accordance with Section 5.1.1 below, the Company and the Warrant
Agent may deem and treat the person in whose name such Warrant is then registered in the Warrant Register (each a &ldquo;<B><I>registered
holder</I></B>&rdquo;) as the absolute owner of such Warrant, for the purpose of any exercise thereof, and for all other purposes, and
neither the Company nor the Warrant Agent shall be affected by any notice to the contrary.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3. <B>Terms
and Exercise of Warrants</B>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1 <U>Exercise
Price</U>. For purposes of this Agreement, &ldquo;<B><I>Exercise Price</I></B>&rdquo; shall mean the initial exercise price for each
Warrant as set forth in the Exhibit 1, subject to adjustment as provided in Exhibit 1.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2 <U>Duration
of Warrants</U>. A Warrant may be exercised only during the period (&ldquo;<B><I>Exercise Period</I></B>&rdquo;) specified in Exhibit
1 or as the same may be extended as hereinafter provided. Each Warrant not exercised on or before the expiration date, as set forth in
Exhibit 1 (the &ldquo;<B><I>Expiration Date</I></B>&rdquo;), shall become void, and all rights thereunder and all rights in respect thereof
under this Agreement shall cease at the close of business on the Expiration Date.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3 <U>Exercise
of Warrants</U>. Warrants may be exercised, at the option of the registered holder of the Warrant, in whole or in part, at any time or
from time to time during the Exercise Period, by complying with the Warrant Agent&rsquo;s procedures relating to the exercise of such
book-entry interest in the Warrants. In addition, the registered holder shall deliver to the Warrant Agent (the &ldquo;<B><I>Warrant
Agent Office</I></B>&rdquo;) (i) an exercise form set forth in the Warrant, executed by such registered holder or its duly authorized
agent or attorney (the &ldquo;<B><I>Exercise Form</I></B>&rdquo;) and (ii) payment of the aggregate Exercise Price. In case an exercise
of Warrants is in part only, the Warrant Agent shall make an appropriate adjustment to the account of the registered holder to reflect
a number of Warrants for the number of shares of Parent Common Stock equal (without giving effect to any adjustment thereof) to the number
of such shares called for by such registered holder&rsquo;s Warrants prior to such exercise, minus the number of shares designated by
the registered holder upon such exercise.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.1 <U>Payment</U>.
Subject to the provisions of the Warrant and this Agreement, a Warrant may be exercised by the registered holder thereof by delivering
to the Warrant Agent at its corporate trust department (i) a warrant exercise form properly delivered by the registered holder, and (iii)
the payment in full of the Exercise Price for each share of Common Stock as to which the Warrant is exercised as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a) in
lawful money of the United States, in certified check or wire payable to the Warrant Agent; or</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b) as
provided in Section 7.5 hereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.2 <U>Procedures
and Validity</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a) Any
exercise of a Warrant by a registered holder pursuant to the terms of this Agreement shall be irrevocable and shall constitute a binding
agreement between the registered holder and the Company, enforceable in accordance with its terms.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b) The
Warrant Agent shall:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i) examine
all Exercise Forms and all other documents delivered to it by or on behalf of registered holders as contemplated hereunder to ascertain
whether or not, on their face, such Exercise Forms and any such other documents have been executed and completed in accordance with their
terms and the terms hereof;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(ii) where
an Exercise Form or other document appears on its face to have been improperly completed or executed or some other irregularity in connection
with the exercise of the Warrants exists, the Warrant Agent shall endeavor to inform the appropriate parties (including the person submitting
such instrument) of the need for fulfillment of all requirements, specifying those requirements which appear to be unfulfilled;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iii) inform
the Company of and cooperate with and assist the Company in resolving any reconciliation problems between the Exercise Forms received
and the crediting of Warrants to the respective registered holders&rsquo; accounts; and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(iv) advise
the Company no later than two (2) business days after receipt of an Exercise Form, of (i) the receipt of such Exercise Form and the number
of Warrants exercised in accordance with the terms and conditions of this Agreement, and (ii) such other information as the Company shall
reasonably require.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c) All
questions as to the validity, form and sufficiency (including time of receipt) of an exercised Warrant and any Exercise Form will be
determined by the Company in good faith. The Company reserves the right to reject any and all Exercise Forms not in proper form or for
which any corresponding agreement by the Company to exchange would, in the opinion of the Company, be unlawful. Moreover, the Company
reserves the absolute right to waive any of the conditions to the exercise of Warrants or defects in the exercise thereof with regard
to any particular exercise of Warrants. Other than as required in Section 3.3.2(b)(ii) above, neither the Company nor the Warrant Agent
shall be under any duty to give notice to the registered holders of the Warrants of any irregularities in any exercise of Warrants or
any Exercise Form, nor shall it incur any liability for the failure to give such notice.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.3 <U>Issuance
of Shares</U>. As soon as practicable after the exercise of any Warrant and the clearance of the funds in payment of the Exercise Price,
the Company shall cause its Transfer Agent to issue to the registered holder of such Warrant a certificate or certificates, or book entry
position, representing the number of full shares of Parent Common Stock to which he, she or it is entitled, registered in such name or
names as may be directed by him, her or it. In the event that during the last 20 business days immediately prior to the Expiration Date
both (i) a registration statement with respect to the Parent Common Stock underlying the Warrants is not effective or a current prospectus
is not available and (ii) the Exercise Price of the Warrants is less than the price at which the Parent Common Stock is trading on NASDAQ
(or if the Parent Common Stock is no longer trading on NASDAQ, such other stock exchange on which the shares of Parent Common Stock trades),
the Exercise Period shall automatically be extended for a period of 20 business days after the date that the Company causes a registration
statement covering the Warrants and the Parent Common Stock underlying the Warrants to be effective and a current prospectus is made
available. In no event will the Company be required to &ldquo;net cash settle&rdquo; the warrant exercise.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.4 <U>Valid
Issuance</U>. All shares of Parent Common Stock issued upon the proper exercise of a Warrant in conformity with this Agreement shall
be validly issued, fully paid and nonassessable.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.3.5 <U>Date
of Issuance</U>. All shares of Parent Common Stock so issued shall be registered in the name of the registered holder or such other name
as shall be designated in the Exercise Form delivered by the registered holder. Such shares of Parent Common Stock shall be deemed to
have been issued and any person so designated to be named therein shall be deemed to have become the holder of record of such shares
of Parent Common Stock as of the date of delivery of the Exercise Form to the Warrant Agent Office duly executed by the registered holder
thereof and upon the Company&rsquo;s receipt of payment of the Exercise Price.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4. <B>Adjustments.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.1 <U>Adjustments
Generally</U>. The Exercise Price, the number of shares of Parent Common Stock issuable upon exercise of the Warrants and the number
of Warrants outstanding are subject to adjustment from time to time upon the occurrence of certain events in accordance with the provisions
of Exhibit 1.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.2 <U>Notices
of Vesting and Changes in Warrant</U>. Promptly upon the satisfaction of the vesting requirements of the Warrants pursuant to the Merger
Agreement, the Company shall deliver written notice of such vesting and exercisability to the Warrant Agent, which notice shall state
the date upon which such warrants shall vest and become exercisable. Upon every adjustment of (i) the Exercise Price, (ii) the number
of shares of Parent Common Stock issuable upon exercise of the Warrants and (iii) the number of Warrants outstanding, the Company shall
give written notice thereof to the Warrant Agent, which notice shall state the Exercise Price resulting from such adjustment and the
increase or decrease, if any, in the number of shares purchasable at such price upon the exercise of a Warrant, setting forth in reasonable
detail the method of calculation and the facts upon which such calculation is based. Upon the occurrence of any event specified in the
Warrant certificate then, in any such event, the Company shall give written notice to each registered holder, at the last address set
forth for such registered holder in the Warrant register maintained by the Warrant Agent, of the record date or the effective date of
the event. Failure to give such notice, or any defect therein, shall not affect the legality or validity of such event.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.3 <U>No
Fractional Shares</U>. Notwithstanding any provision contained in this Agreement to the contrary, the Company shall not issue fractional
shares upon exercise of Warrants. If, by reason of any adjustment made pursuant to this Section 4, the registered holder of any Warrant
would be entitled, upon the exercise of such Warrant, to receive a fractional interest in a share, the Company shall, upon such exercise,
round up or down to the nearest whole number the number of shares of Parent Common Stock to be issued to the registered holder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.4 <U>Form
of Warrant</U>. The form of Warrant certificate need not be changed as a result of any adjustment pursuant to this Section. However,
the Company may, at any time, in its sole discretion, make any change in the form of Warrant certificate that the Company may deem appropriate
and that does not affect the substance thereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5. <B>Transfer
and Exchange of Warrants.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1 <U>Exchange
and Transfer.</U></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.1 The
Warrant Agent shall keep, at the Warrant Agent Office, books in which, subject to such reasonable regulations as it may prescribe, it
shall register Warrants and exchanges and transfers of outstanding Warrants upon request to exchange or transfer such Warrants, provided,
that the Warrant Agent shall have received a written instruction of transfer or exchange in form reasonably satisfactory to the Warrant
Agent, duly executed by the registered holder thereof or by its or her or his duly authorized agent or attorney, providing all information
required to be delivered hereunder, such signature to be guaranteed by an eligible guarantor institution to the extent required by the
Warrant Agent or the Depository. Upon any such registration of transfer, a Warrant Statement shall be issued to the transferee.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.2 The
Company shall pay for applicable service charges for any exchange or registration of transfer of Warrants; and the Warrant Agent and/or
the Company may require payment of a sum sufficient to cover any stamp or other tax or other charge that may be imposed in connection
with any such exchange or registration of transfer. Neither the Warrant Agent nor the Company shall be required to pay any stamp or other
tax or other charge required to be paid in connection with such transfer, and neither the Warrant Agent nor the Company shall be required
to issue or deliver any Warrants until it has been established to the Company&rsquo;s and the Warrant Agent&rsquo;s reasonable satisfaction
that such tax or other charge has been paid or that no such tax or other charge is due.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.3 The
Warrant Agent shall not affect any exchange or registration of transfer which will result in the issuance of a Warrant evidencing a fraction
of a Warrant or a number of full Warrants and a fraction of a Warrant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.1.4 All
Warrants credited to a registered holder&rsquo;s or transferee&rsquo;s account upon any exchange or transfer of Warrants in accordance
with the provisions of this Agreement shall be the valid obligations of the Company evidencing the same obligations, and entitled to
the same benefits under this Agreement, as the Warrants that were so exchanged or transferred.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.2 <U>Treatment
of Holders of Warrants</U>. Each registered holder of Warrants, by accepting the same, consents and agrees with the Company, the Warrant
Agent and every subsequent registered holder of such Warrants that until the due presentment for registration of transfer in accordance
with Section 5.1.1 of such Warrants, the Company and the Warrant Agent may treat the registered holder of such Warrants as the absolute
owner thereof for any purpose and as the person entitled to exercise the rights represented by the Warrants evidenced thereby, any notice
to the contrary notwithstanding.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.3 <U>Procedure
for Surrender of Warrants</U>. Warrants may be surrendered to the Warrant Agent, either in certificated form or in book entry position,
together with a written request for exchange or transfer, and thereupon the Warrant Agent shall issue in exchange therefor one or more
new Warrants, or book entry positions, as requested by the registered holder of the Warrants so surrendered, representing an equal aggregate
number of Warrants; provided, however, that in the event that a Warrant surrendered for transfer bears a restrictive legend, the Warrant
Agent shall not cancel such Warrant and issue new Warrants in exchange therefor until the Warrant Agent has received an opinion of counsel
stating that such transfer may be made and indicating whether the new Warrants must also bear a restrictive legend.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.4 <U>Cancellation
of Warrants</U>. Promptly following the Expiration Date or at such earlier time that there are no longer outstanding any Warrants, the
Warrant certificate shall be cancelled or destroyed and the Warrant Agent shall deliver a certificate of such cancellation or destruction
to the Company.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6. [Omitted].</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7. <B>Other
Provisions Relating to Rights of Holders of Warrants</B>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.1 <U>No
Rights as Stockholder</U>. No Warrant shall, and nothing contained in this Agreement, in the Warrant certificate or in the Warrant Statement
shall be construed to, entitle the registered holder or any beneficial owner thereof to any of the rights of a holder or beneficial owner
of Parent Common Stock, including, without limitation, the right to vote or to consent or to receive notice as a stockholder in respect
of any meeting of stockholders for the election of directors of the Company or any other matter, to receive dividends on Parent Common
Stock or any rights whatsoever as stockholders of the Company, until such Warrant is duly exercised in accordance with this Agreement
and such registered holder is issued the Parent Common Stock to which it is entitled in connection therewith.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.2 <U>Reservation
of Common Stock</U>. The Company shall at all times reserve and keep available a number of its authorized but unissued shares of Parent
Common Stock that will be sufficient to permit the exercise in full of all outstanding Warrants issued pursuant to this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.3 <U>[Omitted]</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.4 <U>Limitation
on Monetary Damages</U>. In no event shall the registered holder of a Warrant be entitled to receive monetary damages for failure to
settle any Warrant exercise if the Parent Common Stock issuable upon exercise of the Warrants has not been registered with the SEC pursuant
to an effective registration statement or if a current prospectus is not available for delivery by the Warrant Agent, provided the Company
has fulfilled its obligations under Section 7.5 to use its commercially reasonable efforts to effect the registration under the Securities
Act of 1933 (the &ldquo;<B><I>Securities Act</I></B>&rdquo;) of the Parent Common Stock issuable upon exercise of the Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.5
<U>Registration of Shares of Common Stock; Cashless Exercise at Company&rsquo;s Option</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.5.1 <U>Registration of the shares of Common Stock</U>. If the Company shall fail to have maintained
an effective registration statement covering the issuance of the shares of Common Stock issuable upon exercise of the Warrants as required
under the Merger Agreement, the registered holders shall have the right to exercise such Warrants on a &ldquo;cashless basis,&rdquo;
by exchanging the Warrants (in accordance with Section 3(a)(9) of the Securities Act or another exemption) for that number of shares
of Common Stock equal to the quotient obtained by dividing (x) the product of the number of shares of Common Stock underlying the Warrants,
multiplied by the excess of the &ldquo;Fair Market Value&rdquo; (as defined below) less the Exercise Price by (y) the Fair Market Value.
Solely for purposes of this subsection 7.5.1, &ldquo;Fair Market Value&rdquo; shall mean the volume-weighted average price of the shares
of Common Stock as reported during the ten (10) trading day period ending on the trading day prior to the date that notice of exercise
is received by the Warrant Agent from the registered holder of such Warrants or its securities broker or intermediary. The date that
notice of &ldquo;cashless exercise&rdquo; is received by the Warrant Agent shall be conclusively determined by the Warrant Agent. In
connection with the &ldquo;cashless exercise&rdquo; of a Warrant, the Company shall, upon request, provide the Warrant Agent with an
opinion of counsel for the Company (which shall be an outside law firm with securities law experience) stating that (i) the exercise
of the Warrants on a &ldquo;cashless basis&rdquo; in accordance with this subsection 7.5.1 is not required to be registered under the
Securities Act and (ii) the shares of Common Stock issued upon such exercise shall be freely tradable under United States federal securities
laws by anyone who is not an affiliate (as such term is defined in Rule 144 under the Securities Act) of the Company and, accordingly,
shall not be required to bear a restrictive legend. Except as provided in subsection 7.5.2, for the avoidance of doubt, unless and until
all of the Warrants have been exercised or have expired, the Company shall continue to be obligated to comply with its registration obligations
under the first three sentences of this subsection 7.5.1</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7.5.1 <U>Cashless Exercise at Company&rsquo;s Option</U>. If the shares of Common Stock are at the
time of any exercise of a Warrant not listed on a national securities exchange such that they satisfy the definition of a &ldquo;covered
security&rdquo; under Section 18(b)(1) of the Securities Act, the Company may, at its option, (i) require holders of Warrants who exercise
such Warrants to exercise such Warrants on a &ldquo;cashless basis&rdquo; in accordance with Section 3(a)(9) of the Securities Act as
described in subsection 7.5.1 and (ii) in the event the Company so elects, the Company shall (x) not be required to file or maintain
in effect a registration statement for the registration, under the Securities Act, of the shares of Common Stock issuable upon exercise
of the Warrants, notwithstanding anything in this Agreement to the contrary, and (y) use its commercially reasonable efforts to register
or qualify for sale the shares of Common Stock issuable upon exercise of the Warrant under applicable blue sky laws to the extent an
exemption is not available..</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8. <B>Concerning
the Warrant Agent and Other Matters.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.1 <U>Payment
of Taxes</U>. The Company will from time to time promptly pay all taxes and charges that may be imposed upon the Company or the Warrant
Agent in respect of the issuance or delivery of shares of Parent Common Stock upon the exercise of Warrants, but the Company shall not
be obligated to pay any transfer taxes in respect of the Warrants or such shares.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2 <U>Resignation,
Consolidation, or Merger of Warrant Agent</U><B>.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2.1 <U>Appointment
of Successor Warrant Agent</U>. The Warrant Agent, or any successor to it hereafter appointed, may resign its duties and be discharged
from all further duties and liabilities hereunder after giving sixty (60) days&rsquo; notice in writing to the Company and to each registered
holder. If the office of the Warrant Agent becomes vacant by resignation or incapacity to act or otherwise, the Company shall appoint
in writing a successor Warrant Agent in place of the Warrant Agent. If the Company shall fail to make such appointment within a period
of 30 days after it has been notified in writing of such resignation or incapacity by the Warrant Agent or by any registered holder of
a Warrant, then the registered holder of any Warrant may apply to the Supreme Court of the State of New York for the County of New York
for the appointment of a successor Warrant Agent at the Company&rsquo;s cost. Any successor Warrant Agent, whether appointed by the Company
or by such court, shall be a corporation organized and existing under the laws of the State of New York, in good standing and having
its principal office in the Borough of Manhattan, City and State of New York, and authorized under such laws to exercise corporate trust
powers and subject to supervision or examination by federal or state authority. After appointment, any successor Warrant Agent shall
be vested with all the authority, powers, rights, immunities, duties, and obligations of its predecessor Warrant Agent with like effect
as if originally named as Warrant Agent hereunder, without any further act or deed; but if for any reason it becomes necessary or appropriate,
the predecessor Warrant Agent shall execute and deliver, at the expense of the Company, an instrument transferring to such successor
Warrant Agent all the authority, powers, and rights of such predecessor Warrant Agent hereunder; and upon request of any successor Warrant
Agent the Company shall make, execute, acknowledge, and deliver any and all instruments in writing for more fully and effectually vesting
in and confirming to such successor Warrant Agent all such authority, powers, rights, immunities, duties, and obligations.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2.2 <U>Notice
of Successor Warrant Agent</U>. In the event a successor Warrant Agent shall be appointed, the Company shall give notice thereof to each
registered holder, the predecessor Warrant Agent and the transfer agent for the Parent Common Stock not later than the effective date
of any such appointment.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2.3 <U>Merger
or Consolidation of Warrant Agent</U>. Any corporation into which the Warrant Agent may be merged or with which it may be consolidated
or any corporation resulting from any merger or consolidation to which the Warrant Agent shall be a party shall be the successor Warrant
Agent under this Agreement without any further act.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3 <B>Fees
and Expenses of Warrant Agent.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3.1 <U>Remuneration</U>.
The Company agrees to pay the Warrant Agent reasonable remuneration for its services as such Warrant Agent hereunder and will reimburse
the Warrant Agent upon demand for all expenditures that the Warrant Agent may reasonably incur in the execution of its duties hereunder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3.2 <U>Further
Assurances.</U> The Company agrees to perform, execute, acknowledge and deliver or cause to be performed, executed, acknowledged and
delivered all such further and other acts, instruments and assurances as may reasonably be required by the Warrant Agent for the carrying
out or performing of the provisions of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4 <B>Liability
of Warrant Agent.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4.1 <U>Reliance
on Company Statement</U>. Whenever in the performance of its duties under this Agreement the Warrant Agent shall deem it necessary or
desirable that any fact or matter be proved or established by the Company prior to taking or suffering any action hereunder, such fact
or matter (unless other evidence in respect thereof be herein specifically prescribed) may be deemed to be conclusively proved and established
by a statement signed by the General Counsel, President or Chairman of the Board of Directors of the Company and delivered to the Warrant
Agent. The Warrant Agent may rely upon such statement for any action taken or suffered in good faith by it pursuant to the provisions
of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 8 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4.2 <U>Indemnity</U>.
The Warrant Agent shall be liable hereunder only for its own gross negligence, willful misconduct or bad faith. The Company agrees to
indemnify the Warrant Agent and save it harmless against any and all liabilities, including judgments, costs and reasonable counsel fees,
for anything done or omitted by the Warrant Agent in the execution of this Agreement, except as a result of the Warrant Agent&rsquo;s
gross negligence, willful misconduct or bad faith.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4.3 <U>Exclusions</U>.
The Warrant Agent shall have no responsibility with respect to the validity of this Agreement or with respect to the validity or execution
of any Warrant (except its countersignature thereof); nor shall it be responsible for any breach by the Company of any covenant or condition
contained in this Agreement or in any Warrant; nor shall it be responsible to make any adjustments required under the provisions of Section
4 hereof or responsible for the manner, method or amount of any such adjustment or the ascertaining of the existence of facts that would
require any such adjustment; nor shall it by any act hereunder be deemed to make any representation or warranty as to the authorization
or reservation of any shares of Parent Common Stock to be issued pursuant to this Agreement or any Warrant or as to whether any shares
of Parent Common Stock will when issued be valid and fully paid and nonassessable.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.5 <U>Acceptance
of Agency</U>. The Warrant Agent hereby accepts the agency established by this Agreement and agrees to perform the same upon the terms
and conditions herein set forth and, among other things, shall account promptly to the Company with respect to Warrants exercised and
concurrently account for, and pay to the Company, all moneys received by the Warrant Agent for the purchase of shares of Parent Common
Stock through the exercise of Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9. <B>Miscellaneous
Provisions.</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.1 Successors.
All the covenants and provisions of this Agreement by or for the benefit of the Company or the Warrant Agent shall bind and inure to
the benefit of their respective successors and assigns.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.2 Notices.
Any notice, statement or demand authorized by this Agreement to be given or made by the Warrant Agent or by the registered holder of
any Warrant to or on the Company shall be delivered by hand or sent by registered or certified mail or overnight courier service, addressed
(until another address is filed in writing by the Company with the Warrant Agent) as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2401
South Foothill Dr., Suite D</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Salt
Lake City, UT 84109</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Telephone:
801-438-1036</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.5in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attention:
President</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attention:
General Counsel</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 9 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
notice, statement or demand authorized by this Agreement to be given or made by the registered holder of any Warrant or by the Company
to or on the Warrant Agent shall be delivered by hand or sent by registered or certified mail or overnight courier service, addressed
(until another address is filed in writing by the Company with the Warrant Agent) as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VStock
Transfer, LLC</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18
Lafayette Place</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Woodmere,
New York 11598</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Attn:
Compliance Department</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any
notice, sent pursuant to this Agreement shall be effective, if delivered by hand, upon receipt thereof by the party to whom it is addressed,
if sent by overnight courier, on the next business day of the delivery to the courier, and if sent by registered or certified mail on
the third day after registration or certification thereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.3 <U>Notices
to Holders of Warrants</U>. Any notice to registered holders of Warrants which by any provisions of this Warrant Agreement or the Warrant
certificate is required or permitted to be given shall be given by first class mail prepaid at such registered holder&rsquo;s address
as it appears on the books of the Warrant Agent.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.4 <U>Applicable
Law</U>. The validity, interpretation and performance of this Agreement and of the Warrants shall be governed in all respects by the
laws of the State of New York, without giving effect to conflicts of law principles that would result in the application of the substantive
laws of another jurisdiction. The Company hereby agrees that any action, proceeding or claim against it arising out of or relating in
any way to this Agreement shall be brought and enforced in the courts located or situated in New York, New York or the United States
District Court for the Southern District of New York, and irrevocably submits to such jurisdiction, which jurisdiction shall be exclusive.
The Company hereby waives any objection to such exclusive jurisdiction and that such courts represent an inconvenient forum. Any such
process or summons to be served upon the Company may be served by transmitting a copy thereof by registered or certified mail, return
receipt requested, postage prepaid, addressed to it at the address set forth in Section 9.2 hereof. Such mailing shall be deemed personal
service and shall be legal and binding upon the Company in any action, proceeding or claim.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.5 <U>Persons
Having Rights under this Agreement</U>. Nothing in this Agreement expressed and nothing that may be implied from any of the provisions
hereof is intended, or shall be construed, to confer upon, or give to, any person or corporation other than the parties hereto and the
registered holders of the Warrants, any right, remedy, or claim under or by reason of this Agreement or of any covenant, condition, stipulation,
promise, or agreement hereof. All covenants, conditions, stipulations, promises, and agreements contained in this Agreement shall be
for the sole and exclusive benefit of the parties hereto and their successors and assigns and of the registered holders of the Warrants.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 10 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.6 <U>Examination
of the Warrant Agreement</U>. A copy of this Agreement shall be available at all reasonable times at the office of the Warrant Agent
in the Borough of Manhattan, City and State of New York, for inspection by the registered holder of any Warrant. The Warrant Agent may
require any such registered holder to submit his, her or its Warrant Statements for inspection by it.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.7 <U>Counterparts</U>.
This Agreement may be executed in any number of original or facsimile counterparts and each of such counterparts shall for all purposes
be deemed to be an original, and all such counterparts shall together constitute but one and the same instrument.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.8 <U>Effect
of Headings</U>. The section headings herein are for convenience only and are not part of this Agreement and shall not affect the interpretation
thereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.9 <U>Amendments</U>.
This Agreement may be amended by the parties hereto without the consent of any registered holder for the purpose of curing any ambiguity,
or curing, correcting or supplementing any defective provision contained herein or adding or changing any other provisions with respect
to matters or questions arising under this Agreement as the parties may deem necessary or desirable and provided such amendment shall
not adversely affect the interest of the registered holders. All other modifications, adjustments or amendments of this Agreement, shall
require the written consent of the registered holders of a majority of the then outstanding Warrants provided that no amendment to the
Warrant certificate shall be effective to charge any registered holder who has not consented thereto. The Warrant Agent may request from
either the Company or the registered holders an opinion of counsel with respect to the validity of any amendment as a condition to its
exercise of any amendment.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.10 <U>Severability</U>.
Whenever possible, each provision of this Agreement shall be interpreted in such manner as to be effective and valid under applicable
law, but if any provision of this Agreement is held to be prohibited by or invalid under applicable law, such provision shall be ineffective
only to the extent of such prohibition or invalidity, without invalidating the remainder of this Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[Signature
page follows]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 11 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN
WITNESS WHEREOF, this Agreement has been duly executed by the parties hereto as of the day and year first above written.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CO-DIAGNOSTICS,
    INC.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 45%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:
    </FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VSTOCK
    TRANSFER, LLC</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;&#8239;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:
    </FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[Signature
Page to Warrant Agreement]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 12 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">EXHIBIT
1 TO COMPANY WARRANT AGREEMENT</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">FORM
OF GLOBAL WARRANT CERTIFICATE FOR COMPANY WARRANTS</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">EXERCISABLE
ONLY IF AUTHENTICATED BY THE WARRANT AGENT AS PROVIDED HEREIN</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VOID
AFTER THE CLOSE OF BUSINESS ON _______________, 20__ OF CO-DIAGNOSTICS, INC.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Global
Warrant Certificate representing Warrants to purchase __________ shares of common stock, par value $0.001 per share, as described herein</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">NEITHER
THIS SECURITY NOR ANY INTEREST OR PARTICIPATION HEREIN MAY BE SOLD, ASSIGNED, TRANSFERRED, ENCUMBERED, OR OTHERWISE DISPOSED OF, EXCEPT
PURSUANT TO AN EFFECTIVE REGISTRATION STATEMENT UNDER THE SECURITIES ACT OR AN OPINION OF COUNSEL REASONABLY SATISFACTORY TO THE CORPORATION
THAT SUCH REGISTRATION IS NOT REQUIRED.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each
Warrant (each a &ldquo;<B><I>Warran</I></B>t&rdquo;) represented hereby, entitles the registered holder to purchase one share (the &ldquo;<B><I>Warrant
Share</I></B>&rdquo;) of common stock, $0.001 par value (the &ldquo;<B><I>Common Stock</I></B>&rdquo;), of Co-Diagnostics, Inc., a Utah
corporation, (the &ldquo;<B><I>Corporation</I></B>&rdquo;) for the benefit of certain registered holders (as defined in the Warrant Agreement)
of such Warrants on the following terms. This Global Warrant Certificate represents the number of outstanding Warrants from time to time
endorsed hereon and the number of outstanding Warrants represented hereby may from time to time be reduced or increased, as appropriate
to reflect exchanges, redemptions, exercises and other similar transactions. This Global Warrant Certificate is issued under and in accordance
with that certain Warrant Agreement dated as of December 30, 2021 by and between the Corporation and VStock Transfer, LLC (as such agreement
may be amended from time to time, the &ldquo;<B><I>Warrant Agreement</I></B>&rdquo;), and is subject to the terms and provisions contained
therein, all of which terms and provisions the registered holders consent to by acceptance of their book-entry interests in the Global
Warrant Certificate. Copies of the Warrant Agreement are on file at the Corporation&rsquo;s headquarters. In the event of any conflict
or inconsistency between this Global Warrant Certificate and the Warrant Agreement, this Global Warrant Certificate shall control. Capitalized
terms used and not otherwise defined herein shall have the meanings set forth in the Warrant Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Global Warrant Certificate is also issued under and in accordance with that certain Agreement and Plan of Merger (as such agreement may
be amended from time to time, the &ldquo;<B><I>Merger Agreement</I></B>&rdquo;), by and among Co-Diagnostics, Inc., a Utah corporation,
Idaho Molecular Inc., an Idaho corporation, and IDMO Acquisition Corporation, Inc., and is subject to the terms and provisions contained
therein. In the event of any conflict or inconsistency between this Global Warrant Certificate and the Merger Agreement, the Merger Agreement
shall control.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 13 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1. <U>Exercise
Period</U>. The Warrants shall vest in full and become exercisable immediately following either (i) satisfaction of Milestone 3 as such
term is defined in the Merger Agreement or (ii) upon the occurrence of any of the events described in Section 3.1(e) of the Merger Agreement
(any such date, the &ldquo;<B><I>Vesting Date</I></B>&rdquo;). Promptly upon the satisfaction of clauses (i) or (ii), the Corporation
shall notify the Warrant Agent that the vesting conditions have been satisfied and the Vesting Date upon which the Warrants shall become
fully exercisable pursuant to the notice provision in the Warrant Agreement. Either the Corporation or the registered holder may certify
to the Warrant Agent in a form satisfactory to the Warrant Agent the occurrence of the Vesting Date. Notwithstanding anything to the
contrary contained herein, the Warrants shall expire at 5:00 p.m. (New York Time) on January 1, 2027 (the &ldquo;<B><I>Termination Date</I></B>&rdquo;).
Parent will provide registered holder at least fifteen (15) days&rsquo; written notice prior to the consummation of any of the events
described in Section 3.1(e) of the Merger Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2. <U>Exercise
of Warrants</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a) The
registered holder may, at any time on or after the Vesting Date and prior to the Termination Date, exercise this Warrant in whole or
in part at an exercise price per share equal to $9.125 (subject to proportionate adjustment in accordance with Section 6) (the &ldquo;<B><I>Exercise
Price</I></B>&rdquo;), by the delivery of the Warrant Exercise Form annexed hereto duly completed and executed to the Warrant Agent at
the Warrant Agent Office or at such other agency or office of the Corporation in the United States of America as the Corporation may
designate by notice in writing to the registered holder at the address of such registered holder appearing on the books of the Corporation.
Upon any partial exercise of a Warrant, the Warrant Agent shall make an appropriate adjustment to the account of the registered holder
to reflect a number of Warrant Shares for the account of the registered holder equal (without giving effect to any adjustment thereof)
to the number of Warrant Shares subject to such registered holder&rsquo;s Warrants prior to such exercise, minus the number of Warrant
Shares exercised by the registered holder. In the event of the exercise of the rights represented by any Warrant, a certificate or certificates
for the Warrant Shares so purchased, as and if applicable, registered in the name of the registered holder, shall be delivered to the
registered holder hereof as soon as practicable after the exercise of such Warrant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b) Payment
to the Corporation of the Exercise Price for each share of Common Stock being purchased shall be made either (i) by wire transfer or
cashier&rsquo;s check drawn on a United States bank payable to the Corporation (to an account as designated by the Warrant Agent by notice
in writing to the registered holders); or (ii) by instructing the Warrant Agent to issue Warrant Shares upon exercise of all or any part
of this Warrant on a net basis such that, without payment of any cash consideration or other immediately available funds, the registered
holder shall surrender this Warrant in exchange for the number of Warrant Shares equal to the quotient obtained by dividing (x) the product
of the number of shares of Common Stock underlying the Warrants, multiplied by the excess of the &ldquo;Fair Market Value&rdquo; (as
defined below) less the Exercise Price by (y) the Fair Market Value. &ldquo;Fair Market Value&rdquo; shall mean the volume-weighted average
price of the shares of Common Stock as reported during the ten (10) trading day period ending on the trading day prior to the date that
notice of exercise is received by the Warrant Agent from the registered holder of such Warrants or its securities broker or intermediary.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 14 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3. <U>Reservation
of Warrant Shares</U>. The Corporation agrees that, prior to the expiration of this Warrant, it will at all times have authorized and
in reserve, and will keep available, solely for issuance or delivery upon the exercise of all outstanding Warrants represented by this
Global Warrant Certificate, the number of Warrant Shares as from time to time shall be issuable by the Corporation upon the exercise
of this Warrant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4. <U>No
Stockholder Rights; No Rights to Net Cash Settled</U>. No Warrant shall entitle the registered holder hereof to any voting rights or
other rights as a stockholder of the Corporation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5. <U>Transferability
of Warrant and Underlying Shares</U>. Prior to the Termination Date and subject to compliance with applicable Federal and State securities
laws, this Warrant and all rights hereunder are transferable, in whole or in part, at the office or agency of the Corporation by the
registered holder in person or by duly authorized attorney in accordance with the provisions of the Warrant Agreement and upon delivery
of the Assignment Form annexed hereto properly endorsed for transfer. The Corporation or the Warrant Agent shall be entitled to require,
as a condition of any such transfer, that the registered holder and the transferee execute or provide such documents and make such representations
and warranties as the Corporation or the Warrant Agent may deem appropriate to evidence compliance with applicable Federal and State
securities laws.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6. <U>Certain
Adjustments</U>. With respect to any rights that any registered holder has to exercise any Warrant and convert into shares of Common
Stock, registered holder shall be entitled to the following adjustments:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a) <U>Merger
or Consolidation</U>. If at any time there shall be a merger or a consolidation of the Corporation with or into another entity when the
Corporation is not the surviving corporation, then, as part of such merger or consolidation, lawful provision shall be made so that the
registered holder hereof shall thereafter be entitled to receive upon exercise of each Warrant, during the period specified herein and
upon payment of the aggregate Exercise Price then in effect, the number of shares of stock or other securities or property (including
cash) of the successor corporation resulting from such merger or consolidation, to which the registered holder hereof as the registered
holder of the stock deliverable upon exercise of each Warrant would have been entitled in such merger or consolidation if each Warrant
had been exercised immediately before such transaction. In any such case, appropriate adjustment shall be made in the application of
the provisions of each Warrant with respect to the rights and interests of the registered holder hereof as the registered holder of each
Warrant after the merger or consolidation.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b) <U>Reclassification,
Recapitalization, etc</U>. If the Corporation at any time shall, by subdivision, combination or reclassification of securities, recapitalization,
automatic conversion, or other similar event affecting the number or character of outstanding shares of Common Stock, or otherwise, change
any of the securities as to which purchase rights under each Warrant exist into the same or a different number of securities of any other
class or classes, each Warrant shall thereafter represent the right to acquire such number and kind of securities as would have been
issuable as the result of such change with respect to the securities that were subject to the purchase rights under each Warrant immediately
prior to such subdivision, combination, reclassification or other change and the Exercise Price shall be proportionately adjusted.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 15 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c) <U>Split
or Combination of Common Stock and Stock Dividend</U>. In case the Corporation shall at any time subdivide, redivide, recapitalize, split
(forward) or change its outstanding shares of Common Stock into a greater number of shares or declare a dividend upon its Common Stock
payable solely in shares of Common Stock, the Exercise Price shall be proportionately reduced and the number of Warrant Shares proportionately
increased. Conversely, in case of a reverse stock split or the outstanding shares of Common Stock of the Corporation shall be combined
into a smaller number of shares, the Exercise Price shall be proportionately increased and the number of Warrant Shares proportionately
reduced.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d) <U>Notices
of Changes in Warrant</U>. Upon every adjustment of (i) the Exercise Price, (ii) the number of shares of Parent Common Stock issuable
upon exercise of this Global Warrant Certificate and (iii) the number of Warrants outstanding, the Corporation shall give written notice
thereof to the registered holder, which notice shall state the Exercise Price resulting from such adjustment and the increase or decrease,
if any, in the number of shares purchasable at such price upon the exercise of this Warrant, setting forth in reasonable detail the method
of calculation and the facts upon which such calculation is based. Upon the occurrence of any event specified in this Global Warrant
Certificate then, in any such event, the Corporation shall give written notice to the registered holder, at the last address set forth
for such registered holder in the Warrant register maintained by the Warrant Agent, of the record date or the effective date of the event.
Failure to give such notice, or any defect therein, shall not affect the legality or validity of such event.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7. <U>Compliance
with Securities Laws; Legend and Stop Transfer Orders</U>. Unless the Warrant Shares are subject to an effective registration statement
under the Securities Act, upon exercise of any part of any Warrant represented hereby, (i) the Corporation shall be entitled to require
that the registered holder make such representations and warranties as may be reasonably required by the Corporation to assure that the
issuance of Warrant Shares is exempt from the registration requirements of applicable securities laws and (ii) the Corporation shall
instruct its transfer agent to enter stop transfer orders with respect to such Warrant Shares, and the Warrant Shares shall bear on the
face thereof substantially the following legend:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">THE
SECURITIES EVIDENCED BY THIS CERTIFICATE HAVE NOT BEEN REGISTERED UNDER THE U.S. SECURITIES ACT OF 1933, AS AMENDED (THE &ldquo;SECURITIES
ACT&rdquo;), OR ANY OTHER APPLICABLE SECURITIES LAWS AND HAVE BEEN ISSUED IN RELIANCE UPON AN EXEMPTION FROM THE REGISTRATION REQUIREMENTS
OF THE SECURITIES ACT AND SUCH OTHER SECURITIES LAWS. NEITHER THIS SECURITY NOR ANY INTEREST OR PARTICIPATION HEREIN MAY BE SOLD, ASSIGNED,
TRANSFERRED, ENCUMBERED, OR OTHERWISE DISPOSED OF, EXCEPT PURSUANT TO AN EFFECTIVE REGISTRATION STATEMENT UNDER THE SECURITIES ACT OR
AN OPINION OF COUNSEL REASONABLY SATISFACTORY TO THE CORPORATION THAT SUCH REGISTRATION IS NOT REQUIRED.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8. <U>Miscellaneous</U>.
This Global Warrant Certificate and each Warrant represented hereby shall be governed by and construed in accordance with the laws of
the State of Utah. All the covenants and provisions of this Global Warrant Certificate and each Warrant by or for the benefit of the
Corporation shall bind and inure to the benefit of its successors and assigns hereunder. Nothing in this global Warrant Certificate shall
be construed to give to any person or corporation other than the Corporation and the registered holder of each Warrant represented hereby
any legal or equitable right, remedy, or claim under this Global Warrant Certificate and each Warrant represented hereby. This Global
Warrant Certificate and each Warrant represented hereby shall be for the sole and exclusive benefit of the Corporation and the registered
holder. The section headings herein are for convenience only and are not part of this Global Warrant Certificate and shall not affect
the interpretation hereof.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 16 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9. <U>Validity</U>.
This Warrant Certificate shall not be valid or obligatory for any purpose until authenticated by the Warrant Agent.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">IN
WITNESS WHEREOF, the Corporation has caused this Global Warrant Certificate to be executed by its duly authorized officer, this _____
day of __________ 2021.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">CO-DIAGNOSTICS,
    INC.</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="width: 7%">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 38%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:
    </FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief
    Executive Officer</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 17 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certificate
of Authentication</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
is the Global Warrant Certificate for the Warrants referred to in the within-mentioned Warrant Agreement.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">VSTOCK
TRANSFER, LLC, as Warrant Agent</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Authorized
Signature</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[TO
BE ATTACHED TO GLOBAL WARRANT CERTIFICATE] SCHEDULE OF INCREASES OR DECREASES IN WARRANT CERTIFICATE</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following increases or decreases in this Warrant have been made:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of decrease in the number of Warrants represented by this Warrant</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of increase in number of Warrants represented by this Warrant</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Number
of Warrants represented by this Warrant following such decrease or increase.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
of authorized officer of the depository</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 18 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">FORM
OF EXERCISE FORM</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
Be Executed by the registered holder in Order to Exercise Company Warrant</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
undersigned hereby irrevocably elects to exercise the right, represented by the book-entry Warrant(s), to purchase shares of the
Common Stock of Co-Diagnostics, Inc. (the &ldquo;<B><I>Warrant Shares</I></B>&rdquo;) and the undersigned herewith makes payment of
the full purchase price for such shares at the price per share provided for in such Warrant in accordance with the terms of the
Warrant Agreement. Such payment takes the form of $__________ in lawful money of the United States.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
the event that the registered holder wishes to exercise through cashless exercise (i) the number of Warrant Shares that this Warrant
is exercisable for would be determined in accordance with Section 2(b) of this Global Warrant Certificate which allows for such cashless
exercise and (ii) the registered holder hereof shall complete the following: The undersigned hereby irrevocably elects to exercise the
right, represented by this Global Warrant Certificate, through the cashless exercise provisions hereof, to receive Warrant Shares.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
undersigned hereby requests that certificates for the Warrant Shares purchased be issued in the name of:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
print or type name and address)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
insert social security or other identifying number)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
be delivered as follows:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
print or type name and address)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(please
insert social security or other identifying number)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">and
if such number of shares of Common Stock shall not be all the shares evidenced by this Global Warrant Certificate, that a new Warrant
for the balance of such shares be registered in the name of, and delivered to, registered holder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
of Holder</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">SIGNATURE
GUARANTEE:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
Warrant may be exercised by delivering the Exercise Form to VStock Transfer, LLC at the following addresses:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By
mail at</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">___________</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0.25in; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8239;]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 19 -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">[FORM
OF ASSIGNMENT]</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(TO
BE EXECUTED TO TRANSFER THE WARRANT)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
value received, hereby sells, assigns and transfers unto the Assignee(s) named below the rights represented by such number of
Company Warrants listed opposite the respective name(s) of the Assignee(s) named below and all other rights of the registered holder
with respect to such Warrants, and does hereby irrevocably constitute and appoint _______________ attorney, to transfer said Warrant
on the books of the Depositary and/or the Warrant Agent with respect to the number of Warrants set forth below, with full power of
substitution:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name(s)
of</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Assignee(s)
Address No. of Warrants</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dated:
_____________</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Signed
exactly as name appears in the records of the Depositary)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Signature
Guarantee:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 20; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.9
<SEQUENCE>6
<FILENAME>ex10-9.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
10.9</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">LEASE
AGREEMENT</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2401
FOOTHILL DRIVE</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">THIS
LEASE AGREEMENT (this &ldquo;<U>Lease</U>&rdquo;) is entered into as of the __ day of June, 2018, between YESCO Properties, LLC, a Utah
company (&ldquo;<U>Landlord</U>&rdquo;), whose address is 2401 Foothill Dr., SLC, UT 84109, and Co-Diagnostics, a Utah company (&ldquo;<U>Tenant</U>&rdquo;),
whose address is 2401 Foothill Drive, SLC, UT 84109.</FONT></P>

<P STYLE="text-indent: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify">&nbsp;</P>

<P STYLE="text-indent: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Landlord
and Tenant agree as follows:</FONT></P>

<P STYLE="text-indent: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-indent: 0.5in; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1. <U>Definitions</U>.
As used in this Lease, each of the following terms will have the meaning indicated:</FONT></P>

<P STYLE="text-indent: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0pt; margin-bottom: 0pt; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.1. <U>&ldquo;Basic
Monthly Rent&rdquo;</U> means:</FONT></P>



<P STYLE="text-align: justify; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.5in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" ALIGN="CENTER" STYLE="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 95%">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="border-bottom: Black 1.5pt solid">Period(s)</TD><TD STYLE="padding-bottom: 1.5pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; text-align: left; vertical-align: bottom">Basic Monthly Rent</TD><TD STYLE="padding-bottom: 1.5pt">&nbsp;</TD>
    <TD STYLE="text-align: left; border-bottom: Black 1.5pt solid">Rented Square feet</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="width: 32%; text-align: justify">Feb. 1, 2018 through May 31, 2018</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="text-align: left; width: 32%; vertical-align: top">$11,399.30 per month</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 32%; text-align: left">7,209</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">June. 1, 2018 through January 31, 2019</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">$14,399.30 per month</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">10,273</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">Feb. 1, 2019 through Jan 31, 2020</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">$14,831.25 per month</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">10,273</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">__________ through &nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">$n/a, per month</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">n.a..</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">__________, inclusive</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">__________ through &nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">$n.a., per month</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">n.a.</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">__________, inclusive</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left; vertical-align: top">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">*
June 2018 Rent will be discounted by $1500.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.2. <U>&ldquo;Building&rdquo; </U>means
the building with the street address of <U>see above ,</U> in <U>&#9;______</U> County,______<U>&#9;, </U>(The Building includes, without
limitation, all heating, air-conditioning, mechanical, electrical, and plumbing systems, the roof and all walls, foundations and
fixtures constituting a part of the Building.)</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.3. <U>&ldquo;Commencement
Date&rdquo;</U> means Feb 1, 2018.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.4. <U>Expiration
Date&rdquo;</U> means the date that is_ years after the Commencement Date, plus any partial calendar month occurring between the
Commencement Date and the first day of the first full calendar month following the Commencement Date, if the Commencement Date does
not occur on the first day of a calendar month, as the same may be extended pursuant to <U>Paragraph 2.2</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.5. <U>&ldquo;Occupants</U>&rdquo;
means any assignee, subtenant, employee, agent, licensee, invitee, patient or resident of Tenant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.6. &ldquo;<U>Permitted
Use</U>&rdquo; means typical office and labs use only, and no other purpose.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.7.
&ldquo;<U>Personaltv</U>&rdquo; means the following:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 107.35pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.7.1.
all goods, equipment, machinery, inventory, materials, supplies, fixtures, furniture, furnishings, tools, appliances and other tangible
personal property now owned or acquired after the date of this Agreement by Landlord and located in the Building: and</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.7.2.
all trademarks, trade names, telephone numbers, logos, contract rights, escrow accounts. accounts receivable, chattel paper, insurance
policies, agreements, instruments, documents of title, general intangibles, business records, plans. specifications, drawings, options,
declarations, surveys, studies, architectural renderings, diagrams, maps, permits, licenses, certificates, zoning and subdivision development
applications, filings and approvals and other intangible personal property now owned or acquired after the date of this Agreement by
Landlord and used in connection with the ownership or operation of the Building or any businesses located on the Building.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.8. &ldquo;<U>Premises</U>&rdquo;
means the portion of the Building that is leased to Tenant as identified on Exhibit A</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.9. <U>&ldquo;Security
Deposit&rdquo;</U> means $11,744.25</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.10 <U>&ldquo;Term&rdquo;
</U>means the period commencing at 12:01 a.m. of the Commencement Date and expiring at midnight of the Expiration Date.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2. <U>Agreement
of Lease</U>. Landlord leases the Premises to Tenant and Tenant leases the Premises from Landlord for the Term, together with such non-exclusive
rights of ingress and egress over and across the Landlord&rsquo;s land upon which the: Building is located, and such portions of the
Building as are designated on Exhibit A as &ldquo;Common Areas&rdquo; that are reasonably necessary for the use of the Premises, in accordance
with the provisions set forth in this Lease. Tenant acknowledges that it has had an opportunity to inspect the Premises, and agrees that
it accepts the Premises as-is and with all faults.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3. <U>Basic
Monthly Rent</U>. Tenant covenants to pay to Landlord without abatement, deduction, offset, prior notice or demand the: Basic Monthly
Rent in lawful money of the United States in equal consecutive monthly installments at such place as Landlord may designate, in advance
on or before the first day of each calendar month during the: Term, commencing on the Commencement Date. If the Commencement Date occurs
on a day other than the first day of a calendar month, on or before the Commencement Date the Basic Monthly Rent will be paid for the
initial fractional calendar month prorated on a per diem basis and for the first full calendar month occurring after the Commencement
Date. If this Lease: expires or terminates on a day other than the last day of a calendar month, the Basic Monthly Rent for such fractional
month will be prorated on a per diem basis.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4. <U>Property
Taxes</U>. Landlord will pay all property taxes applicable to the Building during the Term. Tenant is responsible for the payment of
all other taxes arising in in connection with the use and occupancy of the Premises.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5. <U>Use</U>.
Tenant will not use or occupy or permit the: Premises to be used or occupied for any purpose other than for the Permitted Use, and will
not do or permit anything to be done: by Tenant&rsquo;s Occupants which may (a) violate the provisions of any insurance carried, with
respect to the Premises, (b) create a public or private nuisance or commit waste. (c) overload the floors or otherwise damage the structure:
of the Building. or (d) violate any present or future laws, ordinances, regulations, permits, licenses or requirements or any covenants.
conditions and restrictions existing with respect to the Premises. Tenant \.\&middot;ill, at Tenant&rsquo;s sole cost, (w) use the Premises
in a careful, safe and proper manner, (x) comply with all present and future laws, ordinances, regulations. permits. licenses, and requirements
and any covenants, conditions and restrictions existing with respect to the Premises. including. without limitation, those relating to
chemicals. hazardous materials. hazardous substances, hazardous wastes, pollutants or contaminants, and those relating to access by disabled
persons. (y) comply with the: requirements of any board of fire underwriters or other similar body relating to the Premises, and (z}
not inventory, store, use: or dispose of any chemicals, hazardous materials. hazardous substances, hazardous wastes, pollutants or contaminants
on the Premises, except in accordance with applicable laws, ordinances, regulations, permits, licenses and requirements. Except as set
forth in this Lease, no representation or warranty has been made to, or relied on by, Tenant concerning the Premises. including, without
limitation, the fitness or suitability of the Premises for the conduct of Tenant&rsquo;s business, nor has Landlord agreed to undertake
any modification, alteration or improvement of the Premises.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 2; Options: NewSection; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">6. <U>Security
Deposit</U>. On the date of this Lease, Tenant shall deposit with Landlord the Security Deposit as security for the faithful performance
by Tenant under this Lease. The Security Deposit shall be returned (without interest) to Tennant (or, at Landlord&rsquo;s option, to
the last assignee of Tenant&rsquo;s interest under this Lease) after the expiration of the Tern or sooner termination of this Lease and
delivery of possession of the Premises to Landlord in accordance with Paragraph l 6 if, at such time. Tenant is not in default under
this lease. If Landlord&rsquo;s interest in this Lease is conveyed, transferred or assigned, Landlord shall transfer or credit the Security
Deposit to Landlord&rsquo;s successor in interest. and Landlord shall be released from any liability for the return of the Security Deposit.
Landlord may intermingle the Security Deposit with Landlord&rsquo;s own funds, and shall not be deemed to be a trustee of the Security
Deposit. If Tenant fails to pay or perform in a timely manner any obligation under this Lease, Landlord may, prior to. concurrently with
or subsequent to, exercising any other right or remedy, use, apply or retain all or any part of the Security Deposit for the payment
of any monetary obligation due under this Lease, or to compensate landlord for any other expense, loss or damage that Landlord may incur
by reason of Tenant&rsquo;s failure, including any damage or deficiency in the reletting of the Premises. If all or any portion of the
Security Deposit is so used, applied or retained, Tennant shall immediately deposit with landlord cash in an amount sufficient to restore
the Security Deposit to the original amount. The Security Deposit is not a limitation on Landlord&rsquo;s damages or other rights under
this lease, a payment of liquidated damages or prepaid rent and shall not be applied by Tenant to the rent for the last (or any) month
of the Term, or to any other amount due under this Lease. If this Lease is terminated due to any default of Tenant, any portion of the
Security Deposit remaining at the time of such termination shall immediately inure to the benefit of Landlord as partial compensation
for the costs and expenses incurred by Landlord in connection with this Lease, and shall be in addition to any other damages to which
Landlord is otherwise entitled.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">7. <U>Utilities</U>.
Landlord will provide to the Premises during the Term basic water, gas, electric, and sewer services for Tenant. Tenant is responsible
for all increased and differential costs for basic water, gas, electric, and sewer services associated with Tenant&rsquo;s use of the
Premises for non-office uses; such additional costs shall be paid in addition to the Basic Monthly Rent. Tenant agrees to pay all costs
associated with any other utility services it desires, including its own telecommunications, security, fire alarm, [internet services,
or other desired utilities. Tenant shall pay for such services directly to the providers. If any utility or service to the Premises is
interrupted for any reason (including the occurrence of any &ldquo;brown outs&rdquo; that interfere with Tenant&rsquo;s operations in
any way), Landlord will not be liable to Tenant for such interruption, such interruption will not be deemed to be an eviction or interference
with Tenant&rsquo;s use and occupancy of the Premises, and the Basic Monthly Rent and other amounts required to be paid by Tenant under
this lease will not be abated as a result of such interruption. Tenant waives any claims of any kind against Landlord related to or arising
out of in any way any such interruption and takes full responsibility for operation of all of their specialty equipment and ensuring
against any power outages. Landlord and Tenant will cooperate in taking reasonable steps to re-instate any interrupted service.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8. <U>Maintenance
and Repairs: Alterations: Signs: Access to Premises</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.1. <U>Maintenance
and Repairs</U>. Landlord to provide general repairs, maintenance and janitorial service typical for office use. Tenant will keep Premises
neat and tidy and in good repair and use reasonable care in use of the Building. Except for normal wear and tear, Tenant will pay for
damage to the Premises or Building caused by their negligent or otherwise wrongful acts or omissions. All such repairs and replacements
will be in quality and class equal to or better than the original work or installations. Tenant to provide maintenance, repairs, and
replacement of specialized equipment used by Tenant such as auxiliary power generators, security systems other than keyed door locks,
heating and air conditioning equipment used to maintain specified temperature ranges for lab space (if applicable), inventory, servers
and other temperature sensitive items. Tenant also to provide other equipment or facilities to protect any property with any other specified
environmental requirements, including moisture requirements. Tenant will also provide janitorial for lab areas (if applicable).</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in">&nbsp;</P>


<!-- Field: Page; Sequence: 3; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.2. <U>Alterations.
</U>Tenant will not make any change. addition or improvement to the Premises, unless such change, addition or improvement (a) utilizes
only new and firstgrade materials, (b) is in conformity with all applicable laws, ordinances, regulations and requirements, and is made
after obtaining any required permits and licenses, (c) is made with the prior written consent of Landlord, (d) is made pursuant to plans
and specifications approved in writing in advance by Landlord, (e) is made after Tenant has provided to Landlord such indemnification
or bonds, including, without limitation, a performance and completion bond, in such form and amount as may be satisfactory to Landlord,
to protect against claims and liens for labor performed and materials furnished, and to insure the completion of any change, addition
or improvement, and (f) is carried out by persons approved in writing by Landlord, who, if required by Landlord, deliver to Landlord
before commencement of their work proof of such insurance coverage as Landlord may reasonably require, with Landlord named as an additional
insured. Any such change, addition or improvement will immediately become the property of Landlord. Tenant will promptly pay the entire
cost of any such change, addition or improvement. Tenant will indemnify, defend and hold harmless Landlord from and against all liens,
claims, damages, losses, liabilities and expenses, including attorneys&rsquo; fees, which may arise out of, or be connected in any way
with, any such change, addition or improvement. Within ten (10) days following the imposition of any lien resulting from any such change,
addition or improvement, Tenant will cause such lien to be released of record by payment of money or posting of a proper bond.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.3. <U>Signs</U>.
Tenant shall not make any changes to the exterior of the Premises, install any exterior lights, decorations, balloons, flags, pennants,
banners, or painting, or erect or install any signs, windows or door lettering, placards, decorations, or advertising media of any type
which can be viewed from the exterior of the Premises, without Landlord&rsquo;s prior written consent, which consent may be withheld
in Landlord&rsquo;s sole discretion. Tenant acknowledges that the West elevation of the Building is not available to Tenant for the installation
of any signs. Upon surrender or vacation of the Premises, Tenant shall have removed all signs and repair, paint, and/or replace the building
facia surface to which its signs are attached. Tenant shall obtain all applicable governmental permits and approvals for sign and exterior
treatments. All signs, decorations, advertising media, blinds, draperies and other window treatment or bars or other security installations
visible from outside the Premises shall be subject to Landlord&rsquo;s approval and conform in all respects to Landlord&rsquo;s requirements.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">8.4. <U>Access
to Premises</U>. Landlord and Landlord&rsquo;s agents, employees and contractors may enter the Premises at reasonable times on reasonable
notice to Tenant for the purpose of inspecting the Premises and ascertaining compliance with the provisions of this Lease by Tenant.
Landlord will have free access to the Premises in an emergency. Landlord may also show the Premises to prospective purchasers, tenants
or mortgagees at reasonable times. Tenant waives any claim for any damage, injury or inconvenience to, or interference with, Tenant&rsquo;s
business, occupancy or quiet enjoyment of the Premises and other loss occasioned by such entry, unless caused by Landlord&rsquo;s willful
misconduct or gross negligence. Landlord will at all times have a key with which to unlock all of the doors in the Premises (excluding
Tenant&rsquo;s vaults, safes and similar areas designated in writing by Tenant in advance). During the six (6) months prior to the expiration
of the Term or other termination of this Lease, Landlord may place on the Premises &ldquo;To Let,&rdquo; &ldquo;For Sale&rdquo; or other
similar signs.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9. <U>Assignment.</U></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.1. <U>Prohibition</U>.
Tenant will not, either voluntarily or by operation of law, assign, transfer, mortgage, encumber, pledge or hypothecate this Lease or
Tenant&rsquo;s interest in this Lease, in whole or in part, or sublease the Premises or any part of the Premises, without the prior written
consent of Landlord, which will not be unreasonably withheld, conditioned or delayed. Any transfer of this Lease from Tenant by merger,
consolidation, liquidation or transfer of assets will constitute an assignment for the purposes of this Lease. If Tenant is a corporation,
an unincorporated association or a partnership, the assignment, transfer, mortgage, encumbrance, pledge or hypothecation of any stock
or interest in such corporation, association or partnership in the aggregate in excess of forty-nine percent (49%) ,.vii! be deemed an
assignment within the meaning of this Paragraph. Consent to any assignment or subleasing will not operate as a waiver of the necessity
for consent to any subsequent assignment or subleasing and the terms of such consent will be binding on any person holding by, through
or under Tenant. At Landlord&rsquo;s option, any assignment or sublease without Landlord&rsquo;s prior written consent will be void <U>ab
initio</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in">&nbsp;</P>


<!-- Field: Page; Sequence: 4; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">9.2. <U>Landlord&rsquo;s
Rights</U>. If this Lease is assigned or if all or any portion of the Premises is subleased or occupied by any person other than Tenant
without obtaining Landlord&rsquo;s consent, Landlord may collect rent and other charges from such assignee or other party, and apply
the amount collected to the rent and other charges payable under this Lease, but such collection will not constitute consent or waiver
of the necessity of consent to such assignment or subleasing, nor will such collection constitute the recognition of such assignee or
subtenant as Tenant under this Lease or a release of Tenant from the further performance of all of the covenants and obligations of Tenant
contained in this Lease. No consent by Landlord to any assignment or subleasing by Tenant will relieve Tenant of any obligation to be
paid or performed by Tenant under this Lease, whether occurring before or after such consent, assignment or subleasing, but rather Tenant
and Tenant&rsquo;s assignee or subtenant, as the case may be, will be jointly and severally primarily liable for such payment and performance.
Tenant will reimburse Landlord for Landlord&rsquo;s attorneys&rsquo; and other fees and costs incurred in connection with both determining
whether to give consent and giving consent. No assignment or subleasing under this Lease will be effective unless and until Tenant provides
to Landlord an executed counterpart of the assignment or sublease agreement, which will specifically state that (a) such agreement is
subject to all of the provisions of this Lease, (b) in the case of an assignment, the assignee assumes and agrees to perform all of Tenant&rsquo;s
obligations under this Lease, <I>(c) </I>the assignee or subtenant, as the case may be, may not further assign such agreement, or allow
the Premises to be used by others, without the prior written consent of Landlord in each instance, (d) a consent <I>by </I>Landlord to
such assignment or subleasing will not be deemed or construed to modify, amend or affect the provisions of this Lease or Tenant&rsquo;s
obligations under this Lease, which will continue to apply to the Premises and the occupants of the Premises as if the assignment or
sublease had not been made, (e) if Tenant defaults in the payment of any amounts due under this Lease, Landlord is authorized to collect
any rents or other amounts due from any assignee, subtenant or other occupant of the Premises and to apply the net amounts collected
to the sums payable under this Lease, and (t) the receipt by Landlord of any amounts from an assignee, subtenant or other occupant of
any pan of the Premises will not be deemed or construed as releasing Tenant from Tenant&rsquo;s obligations under this Lease or the acceptance
of that party as a direct tenant. If all or any portion of the Premises is assigned or subleased and the compensation to be received
by Tenant exceeds the Basic Monthly Rent (or pro rata portion of the Basic Monthly Rent, as the case may be) applicable to the portion
being assigned or subleased, Tenant \viii pay such excess to Landlord on the first day of each calendar month.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="text-indent: 0.5in; font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10. <U>Indemnity:
Waiver and Release</U>.</FONT></P>



<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.1. <U>lndemnitv</U>.
Tenant will indemnify, defend and hold harmless Landlord and Landlord&rsquo;s employees and agents from and against all demands, claims,
causes of action, judgments, losses, damages, liabilities, fines, penalties, costs and expenses, including attorneys&rsquo; fees, arising
from the occupancy or use of the Premises by Tenant or Tenant&rsquo;s Occupants, any chemicals, hazardous materials, hazardous substances,
hazardous wastes, pollutants or contaminants generated, manufactured, used, inventoried, deposited, released or stored by Tenant or Tenant&rsquo;s
Occupants on the Premises, the conduct of Tenant&rsquo;s business on the Premises, any act or omission done, permitted or suffered <I>by
</I>Tenant or any of Tenant&rsquo;s Occupants, any default or nonperformance by Tenant under this Lease, any injury or damage to the
person, property or business of Tenant or Tenant&rsquo;s Occupants or any litigation commenced by or against Tenant to which Landlord
is made a party without willful misconduct or gross negligence on the part of Landlord. If any action or proceeding is brought against
Landlord or Landlord&rsquo;s employees or agents by reason of any of the matters set forth in the preceding sentence, Tenant, on notice
from Landlord, will defend Landlord at Tenant&rsquo;s expense with counsel reasonably satisfactory to Landlord. The provisions of this
<U>Paragraph 10.1</U> will survive the expiration of the Term or sooner termination of this Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">10.2. <U>Waiver
and Release</U>. Tenant waives and releases all claims against Landlord and Landlord&rsquo;s employees and agents with respect to all
matters for which Landlord has disclaimed liability or responsibility pursuant to the provisions of this Lease. In addition, Landlord
and Landlord&rsquo;s employees and agents will not be liable for any loss, injury, death or damage to persons, property or Tenant&rsquo;s
business resulting from any theft, act of God, public enemy, injunction, riot, strike, insurrection, war, court order, requisition, order
of governmental body or authority, fire. explosion, falling object, steam, water, rain, snow, ice, wind and other weather-related occurrences,
breakage, leakage, obstruction or other defects of pipes, sprinklers, wires. appliances. plumbing, air-conditioning or lighting fixtures,
construction, repair or alteration of the Premises or other cause beyond Landlord&rsquo;s reasonable control.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 5; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">11. <U>Insurance</U>.
On or before the Commencement Date, Tenant will, at Tenant&rsquo;s sole cost. procure and continue in force the following insurance coverage:
(a} commercial general liability insurance with a $1,000,000 limit per occurrence for bodily injury and property damage, $2,000,000 general
aggregate, and $2,000,000 products and completed operation aggregate coverage that includes without limitation, contractual liability
coverage for the performance by Tenant of the indemnity agreement invitees or customers are kept in, or about the, Premises, Tennant
shall maintain ,warehouser&rsquo;s legal liability or bailee customers insurance for the full value of the property of such invitees
or customers as determined by the warehouse contract between Tenant and its customer; (b) automobile insurance with a combined single
limit of not less than $1,000,000 per occurrence insuring Tenant against liability arising out of the ownership maintenance or use of
any owned, hired or borrowed automobiles, (c) all risk or special form property insurance covering all property and improvements installed
or placed in the Premises by Tenant, including special causes of loss with theft coverage, insuring against fire, extended coverage risks,
vandalism and malicious mischief, and including boiler and sprinkler leakage coverage, in an amount equal to the full replacement cost
(without deduction for depreciation) of all furnishings, trade fixtures, leasehold improvements, equipment and other personal property
from time to time situated in or on the Premises; and (d) workers&rsquo; compensation insurance satisfying Tenant&rsquo;s obligations
under the workers&rsquo; compensation laws of the state in which the Premises are located. Any company writing any of Tenant&rsquo;s
insurance shall have an A.M. Best rating of not less than A-VIII. Tenant agrees that the liability and automobile insurance will name
Landlord and any other person specified from time to time by Landlord as an additional insured and the property insurance will name Landlord
as loss payee as Landlord&rsquo;s interests may appear. All liability policies maintained by Tenant will contain a provision that Landlord
and any other additional insured, although named as an insured, will nevertheless be entitled to recover under such policies for any
loss sustained by Landlord and Landlord&rsquo;s agents and employees as a result of the acts or omissions of Tenant. Tenant will furnish
Landlord with certificates of coverage. No such policy will be cancelable or subject to reduction of coverage or other modification except
after thirty (30) days&rsquo; prior written notice to Landlord by the insurer. All such policies will be written as primary policies,
not contributing with and not in excess of the coverage that Landlord may carry, and will only be subject to such deductibles as may
be approved in writing in advance by Landlord. Tenant will, at least ten (10) days prior to the expiration of such policies, furnish
Landlord with renewals of, or binders for, such policies. Landlord and Tenant waive all rights to recover against each other, against
any other tenant or occupant of the Building and against the officers, directors, shareholders, partners, joint venturers, employees,
agents&rsquo; customers, invitees or business visitors of each other or of any other tenant or occupant of the Building, for any loss
or damage arising from any cause covered by any insurance carried by the waiving party, but only to the extent that such loss or damage
is actually covered. Landlord and Tenant will cause their respective insurance carriers to issue appropriate waivers of subrogation rights
endorsements to all policies of insurance carried in connection with the Premises or the contents of the Premises. Any mortgage lender
making a loan with respect to any part of the Premises may, at Landlord&rsquo;s option, be afforded coverage under any policy required
to be secured by Tenant under this Lease by use of a mortgagee&rsquo;s endorsement to the policy concerned. Notwithstanding the foregoing
provisions of this Paragraph, if the holder of any mortgage then affecting Landlord&rsquo;s interest in the Premises requires that Landlord
make monthly or other periodic payments to an escrow or reserve for use in paying insurance premiums as they fall due, Tenant will, on
being so advised by Landlord and at the time of Tenant&rsquo;s making the monthly payments of Basic Monthly Rent required under <U>Paragraph
3</U>, remit to Landlord the monthly or other periodic payments required to be paid by Landlord to such holder, and Landlord will in
tum remit such payments to such holder.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 6; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">12. <U>Damage
or Destruction.</U> If the Premises are damaged or destroyed by any casualty other than a casualty caused by Tenant, Landlord will promptly
repair the Premises to substantially the condition in which the Premises were immediately prior to such damage or destruction. All proceeds
payable under any insurance policy maintained by Tenant pursuant to <U>Paragraph l l(c)</U> will be paid directly to Landlord, and not
to Landlord and Tenant jointly. During such repair, the Basic Monthly Rent will not abate. If (a) by reason of such occurrence the Premises
are rendered wholly untenantable, (b) the Premises are damaged in ,whole or in part during the last twelve (12) months of the Term, or
(c) the Premises are damaged to the extent of twenty percent (20%) or more of the then replacement value of the Premises or to the extent
that it would take, in Landlord&rsquo;s opinion, in excess of ninety <I>(90) </I>days to complete the requisite repairs, Landlord may
either elect for Tenant to repair the damage or cancel this Lease by notice of cancellation within sixty (60) days after such event.
On such notice of cancellation, Tenant will vacate and surrender the Premises to Landlord and Landlord may retain all insurance proceeds.
Tenant will have no claim against Landlord for any loss suffered by reason of any such damage, destruction, repair or restoration, nor
may Tenant terminate this Lease as the result of any statutory provision in effect on or after the date of this Lease pertaining to the
damage and destruction of the Premises. Landlord will not be required to repair any damage to, or to make any restoration or replacement
of, the Premises or any furnishings, trade fixtures, leasehold improvements, equipment or other personal property installed in the Premises.
Unless this Lease is terminated by Landlord pursuant to this Paragraph, Tenant will be required to restore and replace the Premises and
such furnishings. trade fixtures, leasehold improvements, equipment and other personal property on damage or destruction in at least
a condition equal to that existing prior to such event, and Landlord will make available to Tenant all or a portion of the insurance
proceeds (if any), as necessary for Tenant to complete such restoration and replacement. If made, the disbursement of such proceeds will
be made to Tenant from an escrow account controlled by Landlord in accordance with disbursement procedures typically used by construction
lenders in the metropolitan area in which the Premises are located.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3. <U>Condemnation</U>.
As used in this Paragraph, the term <U>&ldquo;Condemnation Proceedings&rdquo;</U> means any actions or proceedings in which any interest
in the Premises is taken for any public or quasipublic purpose by any lawful authority through exercise of the power of eminent domain
or by purchase or other means in lieu of such exercise. If the whole of the Premises is taken through Condemnation Proceedings, this
Lease <B>will </B>automatically terminate as of the date of the taking. The phrase <U>&ldquo;as of the date of the taking:&rdquo;</U>
means the date of taking actual physical possession by the condemning authority or such earlier date as the condemning authority gives
notice that it is deemed to have taken possession. Landlord or Tenant may terminate this Lease if more than twenty-five percent (25%)
of the Premises is taken or any portion of the Premises is taken that substantially interferes with Tenant&rsquo;s ability to operate
or use the Premises for the purposes for which the Premises were intended. Any such termination must be accomplished through written
notice given no later than thirty <I>(30) </I>days after, and will be effective as of, the date of such taking. In all other cases, or
if neither Landlord nor Tenant exercises its right to terminate, this Lease will remain in effect, and Tenant will promptly repair and
restore the Premises as nearly as possible to the nature and character that existed immediately prior to such taking. If a portion of
the Premises is taken and this Lease is not terminated, the Basic monthly Rent will be reduced in the proportion that the Building floor
area taken bears to the total floor area of the Building leased by Tenant immediately prior to the taking. Whether or not this Lease
is terminated as a consequence of Condemnation Proceedings, all damages or compensation awarded for a partial or total taking, including
any award for severance damage and any sums compensating for diminution in the value of or deprivation of the leasehold estate under
this Lease, will be the sole and exclusive property of Landlord; <U>provided, however,</U> that if (but only it) (a) this Lease is not
terminated as a consequence of Condemnation Proceedings, and (b) Landlord receives an award in such Condemnation Proceedings expressly
designated for the repair and restoration of the Premises, Landlord will make available to Tenant all or a portion of the award so designated,
as necessary, for Tenant to complete its obligations of repair and restoration under this Paragraph. If made, the disbursement of such
portion of the award will be made by Landlord to Tenant in accordance with disbursement procedures typically used by construction lenders
in the metropolitan area in which the Premises are located. Other than as expressly set forth in the immediately preceding two sentences,
Tenant will be absolutely responsible, at its sole cost and expense, to repair and restore the Premises as nearly as possible to the
nature and character that existed prior to such taking if this Lease is not terminated pursuant to this Paragraph. Tenant will have no
claim against Landlord for the occurrence of any Condemnation Proceedings, or for the termination of this Lease or a reduction in the
Premises as a result of any Condemnation Proceedings</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 7; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">14. <U>Landlord&rsquo;s
Financing.</U> This Lease will be subordinate to any existing or future first mortgage, first deed of trust, ground lease and declaration
of covenants, conditions, easements and restrictions encumbering the Premises, and all renewals, modifications, amendments, consolidations,
replacements and extensions of any such instruments. No documentation other than this Lease will be required to evidence such subordination.
[f the holder of any mortgage or deed of mist elects to have this Lease superior to the lien of its mortgage or deed of trust and gives
written notice of such election to Tenant, this Lease will be deemed prior to such mortgage or deed of trust. Tenant will execute such
documents as may be required by Landlord to confirm such subordination or priority within ten (l0) days after request. Tenant will from
time to time if so requested by Landlord and if doing so will not materially and adversely affect Tenant&rsquo;s economic interests under
this Lease, join with Landlord in amending this Lease so as to meet the needs or requirements of any lender that is considering making
or that has made a loan secured by all or any portion of the Premises. Any sale, assignment or transfer of Landlord&rsquo;s interest
under this Lease or in the Premises, including any such disposition resulting from Landlord&rsquo;s default under a debt obligation,
will be subject to this Lease and Tenant will attorn to Landlord&rsquo;s successors and assigns and will recognize such successors or
assigns as Landlord under this Lease. regardless of any law of law to the contrary or absence of privity of contract.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">15. <U>Default</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">15.1. <U>Default
bv Tenant</U>. The occurrence of any of the following events will constitute a d fault by Tenant under this Lease: (a) Tenant fails to
pay in a timely manner any installment of Basic monthly Rent or any other
sum clue under this Lease within three <I>(3) </I>business clays after written notice is given to Tenant that the same is past due; (b)
Tenant fails to observe or perform in a timely manner any other term, covenant or condition to be observed or performed by Tenant under
this Lease within ten ( l 0) business days after written notice is given to Tenant of such failure; <U>provided, however,</U> that if
more than ten (10) business days is reasonably required to cure such failure, Tenant will not be in default if Tenant commences such
cure within such ten (l 0) day period and diligently prosecutes such cure to completion; (c) Tenant files a petition in bankruptcy, becomes
insolvent, has taken against Tenant in any court, pursuant to state or federal statute, a petition in bankruptcy or insolvency or for
reorganization or appointment of a receiver or trustee, petitions for or enters into an arrangement for the benefit of creditors or suffers
this Lease to become subject to a writ of execution; or (d) Tenant vacates or abandons the Premises.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">15.2. <U>Remedies</U>.
On any default by Tenant under this Lease, Landlord may at any time, without waiving or limiting any other right or remedy available
to Landlord, (a) perform in Tenant&rsquo;s stead any obligation that Ten::int has failed to perform, and Landlord will be reimbursed
promptly for any cost incurred by Landlord with interest from the date of such expenditure until paid in full at the greater of the prime
rate then charged by Wells Fargo Bank, N.A. (or any other bank designated by Landlord), plus four percent (4%), or eighteen percent (18%)
per annum (the <U>&ldquo;Interest Rate&rdquo;),</U> (b) terminate Tenant&rsquo;s rights under this Lease by written notice, (c) reenter
and take possession of the Premises by any lawful means (with or without terminating this Lease), or (d) pursue any other remedy allowed
by law. Tenant will pay to Landlord the cost of recovering possession of the Premises, all costs of reletting, including reasonable renovation,
remodeling and alteration of the Premises, the amount of any commissions paid by Landlord in connection with such reletting, and all
other costs and damages arising out of Tenant&rsquo;s default, including attorneys&rsquo; fees and costs. Notwithstanding any termination
or reentry, the liability of Tenant for the rent payable under this Lease will not be extinguished for the balance of the Term, and Tenant
agrees to compensate Landlord on demand for any deficiency, whether arising from (v) reletting the Premises at a lesser rent than applies
under this Lease, (w) reletting the Premises for a term shorter than the remaining Term, <I>(x) </I>reletting less than all of the Premises,
(y) any default in the payment of rent by any person to whom Landlord relets the Premises, or (z) any other cause whatsoever. No reentry
to or taking possession of the Premises or other action by Landlord or its agents on or following the occurrence of any default by Tenant
,viii be construed as an election by Landlord to terminate this Lease or as an acceptance of any surrender of the Premises, unless Landlord
provides Tenant written notice of such termination or acceptance.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 8; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->8<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">15.3. Past
Due Amounts: Obligations Independent. If Tenant fails to pay when due any amount required to be paid by Tenant under this Lease, such
unpaid amount will bear interest at the Interest Rate from the due date of such amount to the date of payment in full, with interest.
In addition, Landlord may also charge a sum of five percent (5%) of such unpaid amount as a service fee. This late payment charge is
intended to compensate Landlord for Landlord&rsquo;s additional administrative costs resulting from Tenant&rsquo;s failure to perform
in a timely manner Tenant&rsquo;s obligations under this Lease, and has been agreed on by Landlord and Tenant after negotiation as a
reasonable estimate of the additional administrative costs which will be incurred by Landlord as a result of such failure. The actual
cost in each instance is extremely difficult, if not impossible, to determine. This late payment charge will constitute liquidated damages
and will be paid to Landlord together with such unpaid amount. The payment of this late payment charge will not constitute a waiver by
Landlord of any default by Tenant under this Lease. All amounts due: under this Lease are and will be deemed to be rent or additional
rent, and will be paid without abatement, deduction, offset, prior notice or demand (unless expressly provided by the terms of this Lease).
Landlord will have the same remedies for a default in the payment of any amount due under this Lease as Landlord has for a default in
the payment of Basic Monthly Rent. The obligations of Tenant to pay Basic Monthly Rent and all other amounts due under this Lease, and
to perform all of Tenant&rsquo;s other obligations under this Lease, are severable from and independent of any obligation of Landlord
under this lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">14.4.
<U>Default bv Landlord</U>. Landlord will not be in default under this Lease unless Landlord fails to perform an obligation required
of Landlord under this Lease within thirty <I>(30) </I>days after written notice by Tenant to Landlord and the holder of any mortgage
or deed of trust covering the Premises whose name and address have been furnished to Tenant in writing, specifying the respects in which
Landlord has failed to perform such obligation, and such holder fails to perform such obligation with.in a second thirty (30) day period
commencing on the expiration of such first thirty (30) day period. [f the nature of such obligation is such that more than thirty (30)
days are reasonably required for performance or cure. Landlord will not be in default if Landlord or such holder commences performance
within their respective thirty <I>(30) </I>clay periods and after such commencement diligently prosecutes the same to completion. In
no event may Tenant terminate this Lease or withhold the payment of rent or other charges provided for in this Lease as a result of Landlord&rsquo;s
default.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">16. <U>Expiration
or&middot; Termination</U>.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: right; text-indent: 0in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">16.1. <U>Surrender
of Premises</U>. On the expiration of the Term or sooner termination of this Lease, Tenant will, at Tenant&rsquo;s sole cost, promptly
and peaceably surrender the Premises to Landlord in good order and condition, and deliver all keys to the Premises to Landlord. All personal
property, trade fixtures and other property then located on the Premises will remain on the Premises and may be used, sold or otherwise
disposed of by Landlord. No sun-ender of the Premises will be effected by Landlord&rsquo;s acceptance of the keys or of the rent or by
any other means without Landlord&rsquo;s written acknowledgement of such acceptance as a surrender. All accounts receivable and accounts
payable will be allocated between Landlord and Tenant as of the date of the expiration of the Term or sooner termination of this Lease,
and Landlord and Tenant will each cooperate with the other in such allocation and the related payment and collection.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">16.2. <U>Holding
Over</U>. Tenant will indemnify, defend and hold harmless Landlord from and against all claims, liabilities and expenses, including attorneys&rsquo;
fees, resulting from delay by Tenant in surrendering the Premises in accordance with the provisions of this Lease. If Tenant remains
in possession of the Premises after the expiration of the Tern, or sooner termination of this Lease with the prior written consent of
Landlord, such occupancy will be a tenancy from month to month at a rental (and not as a penalty) in the amount of one hundred fifty
percent ( l 50%) of the last monthly rental, plus all other charges payable under this Lease, and on all of the terms of this Lease applicable
to a month to month tenancy.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">16.3. <U>Survival</U>.
The provisions of this <U>Paragraph 16</U> will survive the expiration of the Term or sooner termination of this Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in">&nbsp;</P>


<!-- Field: Page; Sequence: 9; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->9<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">17.
<U>Estoppel Certificate</U>. Tenant will, within ten (10) days after Landlord&rsquo;s request, execute and deliver to Landlord an estoppel
certificate in favor of Landlord and such other persons as Landlord will request setting forth the following: (a) a ratification of this
Lease; (b) the Commencement Date and Expiration Date; (c) that this Lease is in full force and effect and has not been assigned, modified,
supplemented or amended (except by such writing as will be stated); (d) that all conditions under this Lease to be performed by Landlord
have been satisfied, or, in the alternative, those claimed by Tenant to be unsatisfied; (e) that no defenses or offsets exist against
the enforcement of this Lease by Landlord. or, in the alternative. those claimed by Tenant to exist; (t) the amount of advance rent,
if any (or none if such is the case), paid by Tenant; (g) the date to which rent has been paid: and (h) such other information as Landlord
may request. Landlord &middot;s mortgage lenders and purchasers will be entitled to rely on any estoppel certificate executed by Tenant.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18. <U>General
Provisions.</U></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.1. <U>No
Partnership</U>. landlord does not by this Lease, in any way or for any purpose, become a partner or joint venturer of Tenant in the
conduct of Tenant&rsquo;s business or otherwise.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.2. <U>Force
Majeure</U> If either Landlord or Tenant is delayed or hindered in or prevented from the performance of any act required under this Lease
by reason of acts of God, strikes, lockouts, other labor troubles, inability to procure labor or m::tterials, fire, accident, failure
of power, restrictive governmental laws. ordinances, regulations or requirements of general applicability, riots, civil commotion, insurrection,
war or other reason not the fault of the party delayed, hindered or prevented and beyond the control of such party (financial inability
excepted), performance of the action in question will be excused for the period of delay and the period for the performance of such act
will be extended for a period equivalent to the period of such delay. The provisions of this Paragraph, will not, however, operate to
excuse Tenant from the prompt payment of rent or any other amounts required to be paid under this Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.3. <U>Notices.
</U>Any notice or demand to be given by Landlord or Tenant to the other will be given in writing by personal service, telegram, express
mail, Federal Express, DHL or any other similar form of collier or delivery service, or mailing in the United States mail, postage prepaid,
certified, return receipt requested and addressed to such party as set forth ar the outset of this Lease. Either Landlord or Tenant may
change the address at which such patty desires to receive notice on written notice of such change to the other party. Any such notice
will be deemed to have been given, and will be effective, on delivery to the notice address then applicable for the party to which the
notice is directed: <U>provided, however</U>, that refusal to accept delivery of a notice or the inability to deliver a notice because
of an address change which was not properly communicated will not defeat or delay the giving of a notice.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.4.
<U>Severability</U>. If any provision of this Lease or the application of any provision of this Lease to any person or circumstance will
to any extent be invalid, the remainder of this Lease or the application of such provision to persons or circumstances other than those
as to which such provision is held invalid will not be affected by such invalidity. Each provision of this Lease will be valid and enforceable
to the fullest extent permitted by law.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.5. <U>Brokerage
Commissions</U>. Except as agreed in writing by Landlord, Tenant represents and warrants that no claims exist for brokerage commissions
or finder&rsquo;s f.;:es in connection with this Lease and agrees to indemnify, defend and hold harmless Landlord from and against all
claims, liabilities and expenses, including attorneys&rsquo; fees, arising from any such brokerage commissions or finder&rsquo;s fees.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.6. <U>Use
of Pronouns</U>. The use of the neuter singular pronoun to refer to Landlord or Tenant will be deemed a proper reference even though
Landlord or Tenant may be an individual, partnership, association, limited liability company, corporation or a group of two or more individuals,
partnerships, associations, limited liability companies or corporations. The necessary grammatical changes required to make the provisions
of this Lease apply in the plural sense where more than one Landlord or Tenant exists and to individuals, partnerships, associations,
limited liability companies, corporations, males or females, will in all instances be assumed as though in each case fully expressed.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.7.
<U>Successors</U>. Except as otherwise provided in this Lease, all provisions contained in this Lease wilt be binding on and will inure
to the benefit of Landlord and Tenant and their respective successors and assigns. On any sale or assignment (except for purposes of
security or collateral) by Landlord of the Premises or this Lease, Landlord will, on and after such sale or assignment, be relieved entirely
of all of Landlord&rsquo;s obligations under this Lease and such obligations wilt, as of the time of such sale or assignment, automatically
pass to Landlord&rsquo;s successor in interest.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 10; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->10<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.8. <U>Recourse
bv Tenant</U>. Anything in this Lease to the contrary notwithstanding, Tenant will look solely to the equity of Landlord in the Premises,
subject to the prior rights of the holder of any mortgage or deed of trust, for the collection of any judgment (or other judicial process)
requiring the payment of money by Landlord on any default or breach by Landlord with respect to any of the terms. covenants and conditions
of this Lease to be observed or performed by Landlord, and no other asset of Landlord or any other person will be subject to levy, execution
or other procedure for the satisfaction of Tenant&rsquo;s remedies.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.9. <U>Quiet
Enjoyment.</U> On Tenant paying the rent payable under this Lease land observing and performing all of the terms, covenants and conditions
on Tenant&rsquo;s part to be observed and performed under this Lease, Tenant will have quiet enjoyment of the Premises for the Term without
interference from Landlord, or anyone claiming by, through or under Landlord, subject to all of the provisions of this Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.10. <U>Waiver</U>.
No failure by any party to insist on the strict performance of any covenant, duty or condition of this Lease or to exercise any right
or remedy consequent on a breach of this Lease will constitute a waiver of any such breach or of such or any other covenant, duty or
condition. Any party may, by notice delivered in the manner provided in this Lease, but will be: under no obligation to. waive any of
its rights or any conditions to its obligations under this Lease, or any covenant or duty of any other party. No waiver will affect or
alter the remainder of this Lease but each other covenant. duty and condition of this Lease will continue in full force and effect with
respect to any other then existing or subsequently occurring breach.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.11. <U>Rights
and Remedies</U>. The rights and remedies of Landlord and Tenant will not be mutually exclusive and the exercise of one or more of the
provisions of this Lease will not preclude the exercise of any other provisions. The parties confirm that damages at law may be an inadequate
remedy for a breach or threatened breach by any patty of any of the provisions of this Lease. The parties&rsquo; respective rights and
obligations under this Lease will be enforceable by specific performance, injunction or any other equitable remedy.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.12. <U>Authorization</U>.
Each individual executing this Lease does represent and warrant to each other so signing (and each other entity for which another person
may be signing) that he has been duly authorized to deliver this Lease in the capacity and for the entity set forth where he signs.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.13. <U>Attorneys</U>&rsquo;
<U>Fees</U>. If any action is brought to recover any rent or other amount under this Lease because of any default under this Lease, to
enforce or interpret any of the provisions of this Lease, or for recovery of possession of the Premises, the party prevailing in such
action will be entitled to recover from the other party reasonable attorneys&rsquo; fees (including those incurred in connection with
any appeal), the amount of which will be fixed by the court and made a part of any judgment rendered. Tenant will be responsible for
all expenses, including, without limitation, attorneys&rsquo; fees, incurred by Landlord in any case or proceeding involving Tenant or
any assignee or subtenant of Tenant under or related to any bankruptcy or insolvency law. The foregoing provisions of this <U>Paragraph
18.13</U> will survive the expiration of the Term or sooner termination of this Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.14. <U>Merger</U>.
The surrender of this Lease by Tenant, the cancellation of this Lease by agreement of Landlord and Tenant or the termination of this
Lease on account of Tenant&rsquo;s default will not work a merger, and will, at Landlord&rsquo;s option, either terminate any subleases
of part or all of the Premises or operate as an assignment to Landlord of any of those subleases. Landlord&rsquo;s option under this
<U>Paragraph 18.14 </U>may be exercised by notice to Tenant and all known subtenants in the Premises.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">18.15. <U>Miscellaneous</U>.
The captions to the Paragraphs of this Lease are for convenience of reference only and will not be deemed relevant in resolving questions
of construction or interpretation under this Lease. Tenant will not record this Lease or a memorandum or notice of this Lease without
the prior written consent of Landlord. This Lease constitutes the entire agreement between the parties. No amendment to this Lease will
be binding on Landlord or Tenant unless reduced to writing and signed by both parties. Unless otherwise set forth in this Lease, all
references to Paragraphs are to Paragraphs in this Lease. Each provision to be performed by Tenant will be construed to be both a covenant
and a condition. This Lease will be governed by and construed and interpreted in accordance with the laws of the state in which the Premises
are located. LANDLORD AND TENANT WAIVE TRIAL BY JURY IN ANY ACTION, PROCEEDING OR COUNTERCLAIM BROUGHT BY EITHER OF THEM AGAINST THE
OTHER ON ALL MATTERS ARISING OUT OF THIS LEASE OR THE USE AND OCCUPANCY OF THE PREMISES. Time is of the essence of each provision of
this Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 1in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 11; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->11<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 32.45pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">LANDLORD
AND TENANT have executed this Lease on the respective dates set forth below, to be effective as of the date first set forth above.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 32.45pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2"><U>LANDLORD</U>:</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">YESCO Properties LLC</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="width: 50%">&nbsp;</TD>
    <TD STYLE="width: 5%">By:</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; width: 45%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>Name:</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>Its:</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>Date:</TD>
    <TD STYLE="text-align: center; border-bottom: Black 1.5pt solid">Jul 5, 2018</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">TENANT:</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">Co-Diagnostics</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>By:</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>Name:</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>Its:</TD>
    <TD STYLE="border-bottom: Black 1.5pt solid">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>Date:</TD>
    <TD STYLE="text-align: center; border-bottom: Black 1.5pt solid">6/29/18</TD></TR>
  </TABLE>


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 12; Value: 2 -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->12<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 0pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">ADDENDUM
#1</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">TO</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">LEASE
AGREEMENT</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.4pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">That
certain Lease Agreement dated&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<U>June 5, 2018</U>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;between YESCO Properties LLC, a Utah limited liability company (&ldquo;Landlord&rdquo;)
and Co-Diagnostics, Inc. (&ldquo;Tenant&rdquo;) (the &ldquo;Lease&rdquo;) is by this Addendum #<B>1 </B>to the Lease (this &ldquo;Addendum&rdquo;)
amended. Capitalized terms not defined in this Addendum shall have the meaning as set forth in the Lease. Notwithstanding any provision
of the Lease to the contrary, the following provisions control:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>1.</B></FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tenant
                                            acknowledges that Landlord never approved the Sublease Agreement between Tenant and Isomeric
                                            Pharmacy Solutions, LLC (&ldquo;Isomeric&rdquo;), which was required by the terms of the
                                            lease between Landlord and Isomeric. Due to continuing events of default under Landlord&rsquo;s
                                            lease with Isomeric, Landlord is exercising its right under its lease with Isomeric to declare
                                            any sublease between Isomeric and Tenant void from the beginning.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Landlord
                                            agrees that all payments previously made pursuant to the sublease between Tenant and Isomeric
                                            shall be deposited towards Tenant&rsquo;s obligations under the Lease.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="width: 100%; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
<TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.5in"></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD><TD STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Tenant
                                            acknowledges that certain office furnishings and lab fixtures situated in the Premises are
                                            the property of Isomeric. Tenant agrees that the terms of the use of such furnishings and
                                            equipment is a matter between Tenant and Isomeric, and Tenant agrees to hold Landlord harmless
                                            from any claims resulting from the use of any property belonging to Isomeric. Tenant acknowledges
                                            that it is solely responsible for negotiating an agreement for the use of such property,
                                            which includes the items referred on Exhibit A attached hereto. Tenant further acknowledges
                                            and agrees that in connection with the settlement of claims between YESCO and Isomeric, Isomeric
                                            has agreed to lease the equipment identified on Exhibit A to Tenant for $1,000 for the term
                                            of the Lease and that all payments for use of the equipment is payable to Landlord for the
                                            remaining term of the Lease. Tenant agrees to pay Landlord $1,000 per month in addition to
                                            the Basic Monthly Rent during the Term of the Lease in accordance with such settlement.</FONT></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.15pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.15pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Except
as modified by this Addendum, the Lease remains in full force and effect. This Addendum is effective as of the date of the Lease.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.15pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.15pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
Signed:_</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0.15pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase">Co-Diagnostics,
                                            inc.</FONT></TD>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase">YESCO
                                            LLC.</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 8%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 41%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
    <TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 8%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 41%">&nbsp;</TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>

<TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="white-space: nowrap; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date Signed:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="white-space: nowrap; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date Signed:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.15pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 13; Options: Last -->
    <DIV STYLE="margin-top: 0pt; margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="text-align: center; width: 100%"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->13<!-- Field: /Sequence --></TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.9.1
<SEQUENCE>7
<FILENAME>ex10-9_1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
10.9.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">AMENDMENT
#1</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">TO
LEASE</FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">That
certain Lease with a Commencement Date of February 1, 2018 between YESCO Properties, LLC, a Utah Limited Liability Company (&ldquo;Landlord&rdquo;)
and Co-Diagnostics, Inc., a Utah Corporation (&ldquo;Tenant&rdquo;) (the &ldquo;Lease&rdquo;) as amended by that First Lease Addendum
dated June 5, 2018, <I>is </I>by this Amendment #1 to the Lease (this &ldquo;Amendment&rdquo;) modified. This Amendment is dated March
26, 2020. Capitalized terms not defined in this Addendum shall have the meaning as set forth in the Lease. Notwithstanding any provision
of the Lease to the contrary, the following provisions control:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Expiration
Date:</U></B> February 29, 2024.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Basic
Monthly Rent</U>:</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="5" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Period</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Rentable Square Feet</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Basic Monthly Rent</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Less: Monthly Settlement <BR>Discount</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="width: 20%">March 1, 2020</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 15%">Through</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 22%">March 31, 2020</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 9%; text-align: right">10,213</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 9%; text-align: right">19,689.92</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">($</TD><TD STYLE="width: 9%; text-align: right">1,822.92</TD><TD STYLE="width: 1%; text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD>April I, 2020</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2021</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">24,900.92</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD>March I, 2021</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2022</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">25,647.95</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD>March 1, 2022</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2023</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">26,417.39</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1 822.92</FONT></TD><TD STYLE="text-align: left">)</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD>March 1, 2023</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 29, 2024</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">27,209.91</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Additional
Space:</U></B> Commencing on April 1, 2020, Tenant agrees to rent additional space as described on Exhibit A.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 35.6pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Settlement
Agreement:</U></B> Landlord and Tenant are entering <I>into </I>a settlement agreement with Isomeric Pharmacy Solutions, LLC
(&ldquo;Isomeric) in connection with th.is Amendment. Pursuant to the settlement agreement, Isomeric is transferring all of its
property located at the Premises in exchange for a payment of $175,000.00 from Tenant to Isomeric. Landlord and Tenant agree to
distribute the Isomeric property as follows: I) Tenant will have all right, title and interest to the items referenced on Exhibit B;
2) Landlord has all right, title, and interest in the items referenced on Exhibit C; and 3) If Landlord sells the items referenced
on Exhibit D, 100% of the proceeds go to the Landlord. Landlord agrees not to disrupt current production in the removal of items to
be sold. If Tenant is able to sell the items referenced on Exhibit D prior to the Expiration Date it will distribute one-half of the
proceeds to Landlord.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 35.6pt; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
consideration of Tenant&rsquo;s settlement payment to Isomeric, so long as Tenant timely and completely fulfils its obligations under
the Lease and this Amendment, Landlord agrees to discount the Basic Monthly Rent by $1,822.92 each month. In the event that Tenant defaults
in any of its obligations under the Lease and this Amendment, no further credit, abatement, or accommodation will be provided by Landlord
and Tenant shall be liable for the remaining Basic Monthly Rent without discount and the items referenced on Exhibit B shall become the
sole property of Landlord.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Except
as modified by this Amendment, the Lease remains in full force and effect.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
    Inc., a Utah Corporation</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">YESCO
    Properties, LLC</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 4%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD></TR>
</TABLE>

<P STYLE="margin: 0"></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 4%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"></TD></TR>
</TABLE>

<P STYLE="margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 12%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
    Signed:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT>&nbsp;</TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 4%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 12%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
    Signed:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%"></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.9.2
<SEQUENCE>8
<FILENAME>ex10-9_2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: center; margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
10.9.2</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">AMENDMENT
#2</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">TO</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">LEASE</FONT></P>

<P STYLE="text-align: center; font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify; text-indent: -0.15pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">That
certain Lease with a Commencement Date of February 1, 2018 between YESCO Properties; LLC, a Utah Limited Liability Company (&ldquo;Landlord&rdquo;)
and Co-Diagnostics, Inc., a Utah Corporation (&ldquo;Tenant&rdquo;) <B>(the </B>&ldquo;Lease&rdquo;) as amended by that First Lease Addendum
dated June 5, 2018, and Amendment to Lease #1 dated March 26, 2020 (Amendment #1) is by this Amendment #2 to the Lease (this &ldquo;Amendment&rdquo;)
modified. This Amendment is dated May 26; 2020. Capitalized terms not defined in this Addendum shall have the meaning as set forth in
the Lease. Notwithstanding any provision of the Lease to the contrary, the following provisions control:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 4.5pt; text-align: left"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify; text-indent: 0.25pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Additional
Space:</U></B> Commencing on June 1, 2020 and until August 31, 2020, Tenant agrees to rent additional space as described on Exhibit A.
Rent will increase $1860.37 a month.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 4.5pt; text-align: left; text-indent: 0.25pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-right: 0; margin-bottom: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B><U>Basic
Monthly Rent included in Amendment #1 and this Amendment:</U></B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 4.5pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <TR STYLE="vertical-align: bottom">
    <TD COLSPAN="5" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Period</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Rentable Square Feet</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Basic Monthly Rent</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Less: Monthly <BR>Settlement Discount</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; text-align: center">Monthly Amount <BR>Due</TD><TD STYLE="padding-bottom: 1.5pt; text-align: center">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="width: 20%">March l, 2020</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 14%">Through</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 22%">March 31, 2020</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 6%; text-align: right">10,213</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 6%; text-align: right">19,689.92</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">($</TD><TD STYLE="width: 6%; text-align: right">1,822.92</TD><TD STYLE="width: 1%; text-align: left">)</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="width: 1%; text-align: left">$</TD><TD STYLE="width: 6%; text-align: right">17,867.00</TD><TD STYLE="width: 1%; text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD>April 1, 2020</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2021</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">24,900.92</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">23,078.00</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD>June 1, 2020</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>August 31, 2020</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">14,658</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">26,761.29</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">24,938.37</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD>September 1, 2020</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2021</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">24,900.92</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">23,078.00</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD>March l, 2021</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2022</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">25,647.95</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">23,825.03</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD>March I, 2022</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 28, 2023</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">26,417.39</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">24,594.47</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD>March 1, 2023</TD><TD>&nbsp;</TD>
    <TD>Through</TD><TD>&nbsp;</TD>
    <TD>February 29, 2024</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">&nbsp;</TD><TD STYLE="text-align: right">13,687</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">27,209.91</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">($</TD><TD STYLE="text-align: right">1,822.92</TD><TD STYLE="text-align: left">)</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: left">$</TD><TD STYLE="text-align: right">25,386.99</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left; margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin-right: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Except
as modified by this Amendment, the Lease and Amendment #1 remain in full force and effect.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: left; margin-top: 0; margin-bottom: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
    Inc., a Utah Corporation</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD COLSPAN="2" STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">YESCO
    Properties, LLC</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 4%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD></TR>
</TABLE>

<P STYLE="margin: 0"></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 4%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 5%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 43%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"></TD></TR>
</TABLE>

<P STYLE="margin: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 12%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
    Signed:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT>&nbsp;</TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 4%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="padding-bottom: 1.5pt; font: 10pt Times New Roman, Times, Serif; width: 12%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date
    Signed:</FONT></TD>
    <TD STYLE="border-bottom: Black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 36%"></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT>&nbsp;</P>


<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>9
<FILENAME>ex21-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>Exhibit
21.1</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: right"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>&nbsp;</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">List
of Subsidiaries</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><B>LIST
OF SUBSIDIARIES</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc. (the &ldquo;Company&rdquo;) has the following direct and indirect subsidiaries:</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif">
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: justify">Subsidiary Name</TD><TD STYLE="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Jurisdiction of Formation</TD><TD STYLE="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&nbsp;</TD><TD STYLE="text-align: center; font-weight: bold; padding-bottom: 1.5pt">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Percentage of Ownership</TD><TD STYLE="text-align: center; padding-bottom: 1.5pt; font-weight: bold">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="text-align: right">&nbsp;</TD><TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: justify; width: 64%">DNA Logix, Inc.</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="text-align: justify; width: 1%">&nbsp;</TD><TD STYLE="text-align: justify; width: 14%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Utah</FONT></TD><TD STYLE="text-align: left; width: 1%">&nbsp;</TD><TD STYLE="width: 2%">&nbsp;</TD>
    <TD STYLE="text-align: right; width: 1%">&nbsp;</TD><TD STYLE="text-align: right; width: 14%">100</TD><TD STYLE="text-align: left; width: 1%">%</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD STYLE="text-align: justify">&nbsp;</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: justify">Idaho Molecular, Inc.</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Idaho</FONT></TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: right">100</TD><TD STYLE="text-align: left">%</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: White">
    <TD STYLE="text-align: justify">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD STYLE="text-align: justify">&nbsp;</TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: left">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom; background-color: rgb(204,238,255)">
    <TD STYLE="text-align: justify">Advanced Conceptions, Inc.</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD><TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Utah</FONT></TD><TD STYLE="text-align: left">&nbsp;</TD><TD>&nbsp;</TD>
    <TD STYLE="text-align: right">&nbsp;</TD><TD STYLE="text-align: right">100</TD><TD STYLE="text-align: left">%</TD></TR>
  </TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"></FONT></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>10
<FILENAME>ex23-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>EXHIBIT 23.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>CONSENT OF
INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">We consent
to the incorporation by reference in Registration Statements No. 333-226835 and 333-249651 on Form S-3 and 333-237684 on Form S-8 of
Co-Diagnostics, Inc. of our report dated March 24, 2022, relating to our audits of the consolidated financial statements which
appear in this Annual Report on Form 10-K of Co-Diagnostics, Inc. for the years ended December 31, 2021 and 2020.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">Haynie &amp;
Company</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">Salt Lake City,
Utah</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">March 24,
2022</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>11
<FILENAME>ex31-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>EXHIBIT 31.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>CERTIFICATION
PURSUANT TO SECTION 302 OF THE SARBANES OXLEY ACT OF 2002</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>AND RULE 13A-14
OF THE EXCHANGE ACT OF 1934</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><U>CERTIFICATION</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">I, Dwight Egan,
certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I have reviewed this annual report on Form 10-K of Co-Diagnostics, Inc.;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a &ndash; 15(f) and 15d &ndash; 15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify">&nbsp;</TD>
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of the annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify">&nbsp;</TD>
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information; and</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0.35pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR>
    <TD STYLE="vertical-align: top; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: March 24, 2022</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; vertical-align: bottom; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/ Dwight Egan</I></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight Egan</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Executive Officer, President and Principal Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>12
<FILENAME>ex31-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>EXHIBIT 31.2</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>CERTIFICATION
PURSUANT TO SECTION 302 OF THE SARBANES OXLEY ACT OF 2002</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>AND RULE 13A-14
OF THE EXCHANGE ACT OF 1934</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B><U>CERTIFICATION</U></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">I, Brian Brown,
certify that:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I have reviewed this annual report on Form 10-K of Co-Diagnostics, Inc.;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">4.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The registrant&rsquo;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a &ndash; 15(f) and 15d &ndash; 15(f)) for the registrant and have:</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify">&nbsp;</TD>
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">c)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluated the effectiveness of the registrant&rsquo;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of the annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or persons performing the equivalent functions):</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify">&nbsp;</TD>
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information; and</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&rsquo;s internal control over financial reporting.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0.35pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: March 24, 2022</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/ Brian Brown</I></FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian Brown</FONT></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Financial Officer and Principal Financial and Accounting Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 1.05pt">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>13
<FILENAME>ex32-1.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>EXHIBIT 32.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0.35pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>CERTIFICATION
OF THE CHIEF EXECUTIVE OFFICER</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>PURSUANT TO
18 U.S. C. SECTION 1350</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>AS ADOPTED
PURSUANT TO</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>SECTION 906
OF THE SARBANES-OXLEY ACT OF 2002</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0.35pt">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">In connection
with the Annual Report of Co-Diagnostics, Inc. (the &ldquo;Company&rdquo;) on Form 10-K for the year ended December 31, 2021, as filed
with the Securities and Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Dwight Egan, Chief Executive Officer of
the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that,
to my knowledge:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Report fully complies with the requirements of Section 13 (a) or 15 (d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
  <TR>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0.35pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR>
    <TD STYLE="vertical-align: top; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: March 24, 2022</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; vertical-align: bottom; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/ Dwight Egan</I></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Dwight Egan</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Executive Officer, President and Principal Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0"></P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>14
<FILENAME>ex32-2.htm
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>EXHIBIT 32.2</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: right; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>CERTIFICATION
OF THE PRINCIPAL FINANCIAL OFFICER</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>PURSUANT TO
18 U.S. C. SECTION 1350</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>AS ADOPTED
PURSUANT TO</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0"><B>SECTION 906
OF THE SARBANES-OXLEY ACT OF 2002</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">In connection
with the Annual Report of Co-Diagnostics, Inc. (the &ldquo;Company&rdquo;) on Form 10-K for the year ended December 31, 2021 as filed
with the Securities and Exchange Commission on the date hereof (the &ldquo;Report&rdquo;), I, Brian Brown, Chief Financial Officer of
the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that,
to my knowledge:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 0.25in; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Report fully complies with the requirements of Section 13 (a) or 15 (d) of the Securities Exchange Act of 1934; and</FONT></TD></TR>
  <TR>
    <TD STYLE="text-align: justify">&nbsp;</TD>
    <TD STYLE="text-align: justify">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</FONT></TD>
    <TD STYLE="text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin-top: 0; margin-bottom: 0; margin-left: 0.35pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%">
  <TR>
    <TD STYLE="vertical-align: top; width: 50%; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date: March 24, 2022</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; vertical-align: bottom; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/ Brian Brown</I></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Brian Brown</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; text-align: justify">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Chief Financial Officer and Principal Financial and Accounting Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

<!-- Field: Page; Sequence: 1; Options: Last -->
    <DIV STYLE="margin-bottom: 6pt; border-bottom: Black 1.5pt solid"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 100%">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page --><P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; margin-left: 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>15
<FILENAME>codx-20211231.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.12c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWaiOGbP9z5Z82ekhvWB1bWm6Ly4hC7mAdSFlyBPWQQsH -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:srt-types="http://fasb.org/srt-types/2021-01-31" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:CODX="http://codiagnostics.com/20211231" elementFormDefault="qualified" targetNamespace="http://codiagnostics.com/20211231">
    <annotation>
      <appinfo>
	<link:roleType roleURI="http://codiagnostics.com/role/Cover" id="Cover">
	  <link:definition>00000001 - Document - Cover</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/BalanceSheets" id="BalanceSheets">
	  <link:definition>00000002 - Statement - Consolidated Balance Sheets</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" id="BalanceSheetsParenthetical">
	  <link:definition>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/StatementsOfOperations" id="StatementsOfOperations">
	  <link:definition>00000004 - Statement - Consolidated Statements of Operations</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" id="StatementOfChangesInStockholdersEquity">
	  <link:definition>00000005 - Statement - Consolidated Statement of Changes in Stockholders' Equity</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" id="StatementOfChangesInStockholdersEquityParenthetical">
	  <link:definition>00000006 - Statement - Consolidated Statement of Changes in Stockholders' Equity (Parenthetical)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" id="StatementsOfCashFlows">
	  <link:definition>00000007 - Statement - Consolidated Statements of cash Flows</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" id="OverviewAndBasisOfPresentation">
	  <link:definition>00000008 - Disclosure - Overview and Basis of Presentation</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
	  <link:definition>00000009 - Disclosure - Summary of Significant Accounting Policies</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/BusinessCombinations" id="BusinessCombinations">
	  <link:definition>00000010 - Disclosure - Business Combinations</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/FairValueMeasurements" id="FairValueMeasurements">
	  <link:definition>00000011 - Disclosure - Fair Value Measurements</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/PropertyAndEquipment" id="PropertyAndEquipment">
	  <link:definition>00000012 - Disclosure - Property and Equipment</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
	  <link:definition>00000013 - Disclosure - Goodwill and Intangible Assets</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/AccruedExpenses" id="AccruedExpenses">
	  <link:definition>00000014 - Disclosure - Accrued Expenses</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/Revenue" id="Revenue">
	  <link:definition>00000015 - Disclosure - Revenue</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/StockholdersEquity" id="StockholdersEquity">
	  <link:definition>00000016 - Disclosure - Stockholders&#8217; Equity</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/EarningsPerShare" id="EarningsPerShare">
	  <link:definition>00000017 - Disclosure - Earnings per Share</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/Stock-basedCompensation" id="Stock-basedCompensation">
	  <link:definition>00000018 - Disclosure - Stock-Based Compensation</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/IncomeTaxes" id="IncomeTaxes">
	  <link:definition>00000019 - Disclosure - Income Taxes</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
	  <link:definition>00000020 - Disclosure - Related Party Transactions</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
	  <link:definition>00000021 - Disclosure - Commitments and Contingencies</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/SubsequentEvents" id="SubsequentEvents">
	  <link:definition>00000022 - Disclosure - Subsequent Events</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
	  <link:definition>00000023 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/BusinessCombinationsTables" id="BusinessCombinationsTables">
	  <link:definition>00000024 - Disclosure - Business Combinations (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" id="FairValueMeasurementsTables">
	  <link:definition>00000025 - Disclosure - Fair Value Measurements (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" id="PropertyAndEquipmentTables">
	  <link:definition>00000026 - Disclosure - Property and Equipment (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
	  <link:definition>00000027 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/AccruedExpensesTables" id="AccruedExpensesTables">
	  <link:definition>00000028 - Disclosure - Accrued Expenses (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/RevenueTables" id="RevenueTables">
	  <link:definition>00000029 - Disclosure - Revenue (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
	  <link:definition>00000030 - Disclosure - Earnings per Share (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" id="Stock-basedCompensationTables">
	  <link:definition>00000031 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
	  <link:definition>00000032 - Disclosure - Income Taxes (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables">
	  <link:definition>00000033 - Disclosure - Commitments and Contingencies (Tables)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" id="SummaryOfSignificantAccountingPoliciesDetailsNarrative">
	  <link:definition>00000034 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" id="ScheduleOfAssetsAndLiabilitiesAssumedDetails">
	  <link:definition>00000035 - Disclosure - Schedule of Assets and Liabilities assumed (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" id="BusinessCombinationsDetailsNarrative">
	  <link:definition>00000036 - Disclosure - Business Combinations (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" id="ScheduleOfFairValueAssetsAndLiabilitiesDetails">
	  <link:definition>00000037 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" id="ScheduleOfChangesInFairValueMeasurementDetails">
	  <link:definition>00000038 - Disclosure - Schedule of Changes in Fair Value Measurement (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" id="ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails">
	  <link:definition>00000039 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" id="ScheduleOfPropertyAndEquipmentDetails">
	  <link:definition>00000040 - Disclosure - Schedule of Property and Equipment (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" id="ScheduleOfIntangibleAssetsDetails">
	  <link:definition>00000041 - Disclosure - Schedule of Intangible Assets (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" id="ScheduleOfFutureAmortizationExpenseDetails">
	  <link:definition>00000042 - Disclosure - Schedule of Future Amortization Expense (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" id="ScheduleOfAccruedExpensesDetails">
	  <link:definition>00000043 - Disclosure - Schedule of Accrued Expenses (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" id="SummaryOfRevenueByGeographicAreaDetails">
	  <link:definition>00000044 - Disclosure - Summary of Revenue by Geographic Area (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" id="ScheduleOfDeferredRevenueDetails">
	  <link:definition>00000045 - Disclosure - Schedule of Deferred Revenue (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" id="StockholdersEquityDetailsNarrative">
	  <link:definition>00000046 - Disclosure - Stockholders&#8217; Equity (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" id="ScheduleOfBasicAndDilutedEarningsPerShareDetails">
	  <link:definition>00000047 - Disclosure - Schedule of Basic and Diluted Earnings Per Share (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" id="EarningsPerShareDetailsNarrative">
	  <link:definition>00000048 - Disclosure - Earnings per Share (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" id="ScheduleOfOptionActivityDetails">
	  <link:definition>00000049 - Disclosure - Schedule of Option Activity (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" id="ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails">
	  <link:definition>00000050 - Disclosure - Schedule of Fair Value of Options Weighted Average Assumptions (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" id="ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails">
	  <link:definition>00000051 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Activity (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" id="ScheduleOfWarrantActivityDetails">
	  <link:definition>00000052 - Disclosure - Schedule of Warrant Activity (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" id="ScheduleOfFairValueOfWarrantsAssumptionsDetails">
	  <link:definition>00000053 - Disclosure - Schedule of Fair Value of Warrants Assumptions (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" id="ScheduleOfRecognizedStock-basedCompensationExpenseDetails">
	  <link:definition>00000054 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" id="Stock-basedCompensationDetailsNarrative">
	  <link:definition>00000055 - Disclosure - Stock-Based Compensation (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" id="ScheduleOfComponentsIncomeTaxProvisionDetails">
	  <link:definition>00000056 - Disclosure - Schedule of Components Income Tax Provision (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" id="ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails">
	  <link:definition>00000057 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" id="ScheduleOfDeferredTaxAssetsDetails">
	  <link:definition>00000058 - Disclosure - Schedule of Deferred Tax Assets (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" id="ScheduleOfUnrecognizedTaxBenefitsDetails">
	  <link:definition>00000059 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
	  <link:definition>00000060 - Disclosure - Income Taxes (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" id="RelatedPartyTransactionsDetailsNarrative">
	  <link:definition>00000061 - Disclosure - Related Party Transactions (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" id="ScheduleOfFutureMinimumLeasePaymentsDetails">
	  <link:definition>00000062 - Disclosure - Schedule of Future Minimum Lease Payments (Details)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
	  <link:definition>00000063 - Disclosure - Commitments and Contingencies (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:roleType roleURI="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" id="SubsequentEventsDetailsNarrative">
	  <link:definition>00000064 - Disclosure - Subsequent Events (Details Narrative)</link:definition>
	  <link:usedOn>link:presentationLink</link:usedOn>
	  <link:usedOn>link:calculationLink</link:usedOn>
	  <link:usedOn>link:definitionLink</link:usedOn>
	</link:roleType>
	<link:linkbaseRef xlink:type="simple" xlink:href="codx-20211231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="codx-20211231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="codx-20211231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
	<link:linkbaseRef xlink:type="simple" xlink:href="codx-20211231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2021q4" schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd" />
    <import namespace="http://fasb.org/us-gaap/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd" />
    <import namespace="http://fasb.org/us-types/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2021" schemaLocation="https://xbrl.sec.gov/country/2021/country-2021.xsd" />
    <import namespace="http://fasb.org/srt/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd" />
    <import namespace="http://fasb.org/srt-types/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd" />
    <element id="CODX_TwoCustomersTogetherMember" name="TwoCustomersTogetherMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" name="AdvancedConceptionsIncAndIdahoMolecularIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_AdvancedConceptionsIncMember" name="AdvancedConceptionsIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_MeasurementInputStrikePriceMember" name="MeasurementInputStrikePriceMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_MeasurementInputCostOfCapitalMember" name="MeasurementInputCostOfCapitalMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_MeasurementInputEquityVolatilityMember" name="MeasurementInputEquityVolatilityMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_MeasurementInputAssetVolatilityMember" name="MeasurementInputAssetVolatilityMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_MeasurementInputRevenueVolatilityMember" name="MeasurementInputRevenueVolatilityMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_RestOfWorldMember" name="RestOfWorldMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_OptionsMember" name="OptionsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ThirdPartiesMember" name="ThirdPartiesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_CommonStockThreeMember" name="CommonStockThreeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_CommonStockOneMember" name="CommonStockOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_CommonStockTwoMember" name="CommonStockTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_InvestmentRelationsServicesMember" name="InvestmentRelationsServicesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_TwoThousandFifteenLongTermIncentivePlanMember" name="TwoThousandFifteenLongTermIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockOptionsMember" name="StockOptionsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ExclusiveLicenseAgreementMember" name="ExclusiveLicenseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DrBrentSatterfieldMember" name="DrBrentSatterfieldMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_TaxesPayableNoncurrent" name="TaxesPayableNoncurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_PaymentsToAcquireInterestInJointVentures" name="PaymentsToAcquireInterestInJointVentures" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ProceedsFromExerciseOfOptionsAndWarrants" name="ProceedsFromExerciseOfOptionsAndWarrants" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" name="NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" name="FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" name="ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_PaymentsToShareHoldersValueAcquisitions" name="PaymentsToShareHoldersValueAcquisitions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockIssuedDuringPeriodSharesContingentConsideration" name="StockIssuedDuringPeriodSharesContingentConsideration" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueByFairValueHierarchyLevelAxAxis" name="FairValueByFairValueHierarchyLevelAxAxis" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" />
    <element id="CODX_FairValueByFairValueHierarchyLevelAxDomain" name="FairValueByFairValueHierarchyLevelAxDomain" abstract="true" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueOfContingentConsiderationToCommonStock" name="FairValueOfContingentConsiderationToCommonStock" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_FairValueOfContingentConsiderationToWarrants" name="FairValueOfContingentConsiderationToWarrants" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ContingentConsideredIssuedForBusinessAcquisitions" name="ContingentConsideredIssuedForBusinessAcquisitions" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" name="BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IndefiniteLivedIntangibleAssetUsefulLife" name="IndefiniteLivedIntangibleAssetUsefulLife" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IncreaseDueToPrepaymentsFromCustomers" name="IncreaseDueToPrepaymentsFromCustomers" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IncreaseDueToNoteReceivable" name="IncreaseDueToNoteReceivable" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" name="DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" name="StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockIssuedDuringPeriodSharesForfeited" name="StockIssuedDuringPeriodSharesForfeited" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_NetProceedsFromIssuanceOfCommonStock" name="NetProceedsFromIssuanceOfCommonStock" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_WeightedAverageNumberOfBasicSharesOutstanding" name="WeightedAverageNumberOfBasicSharesOutstanding" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_EarningsBasicPerShare" name="EarningsBasicPerShare" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" name="StockIssuedDuringPeriodSharesStockOptionsExercised1" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" name="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" name="SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_ClassOfWarrantExercisable" name="ClassOfWarrantExercisable" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" name="EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" name="EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_IdahoMolecularMember" name="IdahoMolecularMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_AdvancedConceptionsMember" name="AdvancedConceptionsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="CODX_DrSatterfieldMember" name="DrSatterfieldMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>16
<FILENAME>codx-20211231_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.12c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://codiagnostics.com/role/Cover" xlink:href="codx-20211231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheets" xlink:href="codx-20211231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:href="codx-20211231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfOperations" xlink:href="codx-20211231.xsd#StatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:href="codx-20211231.xsd#StatementOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" xlink:href="codx-20211231.xsd#StatementOfChangesInStockholdersEquityParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:href="codx-20211231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:href="codx-20211231.xsd#OverviewAndBasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinations" xlink:href="codx-20211231.xsd#BusinessCombinations" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurements" xlink:href="codx-20211231.xsd#FairValueMeasurements" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipment" xlink:href="codx-20211231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:href="codx-20211231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpenses" xlink:href="codx-20211231.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Revenue" xlink:href="codx-20211231.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StockholdersEquity" xlink:href="codx-20211231.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShare" xlink:href="codx-20211231.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensation" xlink:href="codx-20211231.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxes" xlink:href="codx-20211231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:href="codx-20211231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:href="codx-20211231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEvents" xlink:href="codx-20211231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinationsTables" xlink:href="codx-20211231.xsd#BusinessCombinationsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:href="codx-20211231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:href="codx-20211231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="codx-20211231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpensesTables" xlink:href="codx-20211231.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RevenueTables" xlink:href="codx-20211231.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareTables" xlink:href="codx-20211231.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:href="codx-20211231.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesTables" xlink:href="codx-20211231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:href="codx-20211231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:href="codx-20211231.xsd#ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" xlink:href="codx-20211231.xsd#BusinessCombinationsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:href="codx-20211231.xsd#ScheduleOfChangesInFairValueMeasurementDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:href="codx-20211231.xsd#ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="codx-20211231.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" xlink:href="codx-20211231.xsd#ScheduleOfIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:href="codx-20211231.xsd#ScheduleOfFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:href="codx-20211231.xsd#ScheduleOfAccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:href="codx-20211231.xsd#SummaryOfRevenueByGeographicAreaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:href="codx-20211231.xsd#ScheduleOfDeferredRevenueDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" xlink:href="codx-20211231.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:href="codx-20211231.xsd#ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:href="codx-20211231.xsd#EarningsPerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfOptionActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfWarrantActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:href="codx-20211231.xsd#ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="codx-20211231.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:href="codx-20211231.xsd#ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:href="codx-20211231.xsd#ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" xlink:href="codx-20211231.xsd#ScheduleOfDeferredTaxAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:href="codx-20211231.xsd#ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:href="codx-20211231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="codx-20211231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="codx-20211231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" xlink:href="codx-20211231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapNotesAndLoansReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RealEstateInvestmentsJointVentures" xlink:label="loc_us-gaapRealEstateInvestmentsJointVentures" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapRealEstateInvestmentsJointVentures" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="loc_us-gaapAccountsReceivableNetNoncurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAccountsReceivableNetNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="loc_us-gaapDueToRelatedPartiesCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDueToRelatedPartiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TaxesPayableNoncurrent" xlink:label="loc_CODXTaxesPayableNoncurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_CODXTaxesPayableNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesNoncurrent" xlink:label="loc_us-gaapDueToRelatedPartiesNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesNoncurrent" xlink:to="loc_us-gaapDueToRelatedPartiesNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfOperations" xlink:title="00000004 - Statement - Consolidated Statements of Operations">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNonoperatingIncomeExpense" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" xlink:title="00000006 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:title="00000007 - Statement - Consolidated Statements of cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="loc_us-gaapPaymentsToAcquireMarketableSecurities" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireMarketableSecurities" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:label="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToAcquireInterestInJointVentures" xlink:label="loc_CODXPaymentsToAcquireInterestInJointVentures" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_CODXPaymentsToAcquireInterestInJointVentures" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ProceedsFromExerciseOfOptionsAndWarrants" xlink:label="loc_CODXProceedsFromExerciseOfOptionsAndWarrants" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_CODXProceedsFromExerciseOfOptionsAndWarrants" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:title="00000008 - Disclosure - Overview and Basis of Presentation" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="00000009 - Disclosure - Summary of Significant Accounting Policies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinations" xlink:title="00000010 - Disclosure - Business Combinations" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurements" xlink:title="00000011 - Disclosure - Fair Value Measurements" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipment" xlink:title="00000012 - Disclosure - Property and Equipment" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:title="00000013 - Disclosure - Goodwill and Intangible Assets" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpenses" xlink:title="00000014 - Disclosure - Accrued Expenses" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Revenue" xlink:title="00000015 - Disclosure - Revenue" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StockholdersEquity" xlink:title="00000016 - Disclosure - Stockholders&#8217; Equity" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShare" xlink:title="00000017 - Disclosure - Earnings per Share" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensation" xlink:title="00000018 - Disclosure - Stock-Based Compensation" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxes" xlink:title="00000019 - Disclosure - Income Taxes" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:title="00000020 - Disclosure - Related Party Transactions" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:title="00000021 - Disclosure - Commitments and Contingencies" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEvents" xlink:title="00000022 - Disclosure - Subsequent Events" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="00000023 - Disclosure - Summary of Significant Accounting Policies (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinationsTables" xlink:title="00000024 - Disclosure - Business Combinations (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:title="00000025 - Disclosure - Fair Value Measurements (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:title="00000026 - Disclosure - Property and Equipment (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="00000027 - Disclosure - Goodwill and Intangible Assets (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpensesTables" xlink:title="00000028 - Disclosure - Accrued Expenses (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RevenueTables" xlink:title="00000029 - Disclosure - Revenue (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareTables" xlink:title="00000030 - Disclosure - Earnings per Share (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:title="00000031 - Disclosure - Stock-Based Compensation (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesTables" xlink:title="00000032 - Disclosure - Income Taxes (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:title="00000033 - Disclosure - Commitments and Contingencies (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="00000034 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:title="00000035 - Disclosure - Schedule of Assets and Liabilities assumed (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" xlink:title="00000036 - Disclosure - Business Combinations (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:title="00000037 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:title="00000038 - Disclosure - Schedule of Changes in Fair Value Measurement (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:title="00000039 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="00000040 - Disclosure - Schedule of Property and Equipment (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" xlink:title="00000041 - Disclosure - Schedule of Intangible Assets (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:title="00000042 - Disclosure - Schedule of Future Amortization Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:title="00000043 - Disclosure - Schedule of Accrued Expenses (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="loc_us-gaapAccruedPayrollTaxesCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedPayrollTaxesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedSalesCommissionCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="loc_us-gaapSalesAndExciseTaxPayableCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapSalesAndExciseTaxPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapOtherAccruedLiabilitiesCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccruedLiabilitiesCurrent" xlink:to="loc_us-gaapOtherAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:title="00000044 - Disclosure - Summary of Revenue by Geographic Area (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:title="00000045 - Disclosure - Schedule of Deferred Revenue (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" xlink:title="00000046 - Disclosure - Stockholders&#8217; Equity (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:title="00000047 - Disclosure - Schedule of Basic and Diluted Earnings Per Share (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:title="00000048 - Disclosure - Earnings per Share (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:title="00000049 - Disclosure - Schedule of Option Activity (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:title="00000050 - Disclosure - Schedule of Fair Value of Options Weighted Average Assumptions (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:title="00000051 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Activity (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:title="00000052 - Disclosure - Schedule of Warrant Activity (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:title="00000053 - Disclosure - Schedule of Fair Value of Warrants Assumptions (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:title="00000054 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="00000055 - Disclosure - Stock-Based Compensation (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:title="00000056 - Disclosure - Schedule of Components Income Tax Provision (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeTaxExpenseBenefit" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:title="00000057 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" xlink:title="00000058 - Disclosure - Schedule of Deferred Tax Assets (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredTaxAssetsGross" xlink:to="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="loc_us-gaapDeferredTaxLiabilitiesOther" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:to="loc_us-gaapDeferredTaxLiabilitiesOther" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:title="00000059 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000060 - Disclosure - Income Taxes (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="00000061 - Disclosure - Related Party Transactions (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:title="00000062 - Disclosure - Schedule of Future Minimum Lease Payments (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000063 - Disclosure - Commitments and Contingencies (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" xlink:title="00000064 - Disclosure - Subsequent Events (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>17
<FILENAME>codx-20211231_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.12c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://codiagnostics.com/role/Cover" xlink:href="codx-20211231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheets" xlink:href="codx-20211231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:href="codx-20211231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfOperations" xlink:href="codx-20211231.xsd#StatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:href="codx-20211231.xsd#StatementOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" xlink:href="codx-20211231.xsd#StatementOfChangesInStockholdersEquityParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:href="codx-20211231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:href="codx-20211231.xsd#OverviewAndBasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinations" xlink:href="codx-20211231.xsd#BusinessCombinations" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurements" xlink:href="codx-20211231.xsd#FairValueMeasurements" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipment" xlink:href="codx-20211231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:href="codx-20211231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpenses" xlink:href="codx-20211231.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Revenue" xlink:href="codx-20211231.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StockholdersEquity" xlink:href="codx-20211231.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShare" xlink:href="codx-20211231.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensation" xlink:href="codx-20211231.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxes" xlink:href="codx-20211231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:href="codx-20211231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:href="codx-20211231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEvents" xlink:href="codx-20211231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinationsTables" xlink:href="codx-20211231.xsd#BusinessCombinationsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:href="codx-20211231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:href="codx-20211231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="codx-20211231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpensesTables" xlink:href="codx-20211231.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RevenueTables" xlink:href="codx-20211231.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareTables" xlink:href="codx-20211231.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:href="codx-20211231.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesTables" xlink:href="codx-20211231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:href="codx-20211231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:href="codx-20211231.xsd#ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" xlink:href="codx-20211231.xsd#BusinessCombinationsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:href="codx-20211231.xsd#ScheduleOfChangesInFairValueMeasurementDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:href="codx-20211231.xsd#ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="codx-20211231.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" xlink:href="codx-20211231.xsd#ScheduleOfIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:href="codx-20211231.xsd#ScheduleOfFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:href="codx-20211231.xsd#ScheduleOfAccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:href="codx-20211231.xsd#SummaryOfRevenueByGeographicAreaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:href="codx-20211231.xsd#ScheduleOfDeferredRevenueDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" xlink:href="codx-20211231.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:href="codx-20211231.xsd#ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:href="codx-20211231.xsd#EarningsPerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfOptionActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfWarrantActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:href="codx-20211231.xsd#ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="codx-20211231.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:href="codx-20211231.xsd#ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:href="codx-20211231.xsd#ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" xlink:href="codx-20211231.xsd#ScheduleOfDeferredTaxAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:href="codx-20211231.xsd#ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:href="codx-20211231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="codx-20211231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="codx-20211231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" xlink:href="codx-20211231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfOperations" xlink:title="00000004 - Statement - Consolidated Statements of Operations" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="loc_us-gaapConvertiblePreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapConvertiblePreferredStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember" xlink:label="loc_us-gaapPreferredStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapPreferredStockMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_60" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_60" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_60" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueOther_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueOther_60" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesOther_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesOther_60" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_60" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_60" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross_60" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross_60" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueConversionOfConvertibleSecurities_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueConversionOfConvertibleSecurities_60" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_60" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions_60" xlink:type="arc" order="13" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_60" xlink:type="arc" order="14" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss_60" xlink:type="arc" order="15" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" xlink:title="00000006 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockLineItems" xlink:label="loc_us-gaapSubsidiarySaleOfStockLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:label="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsidiarySaleOfStockLineItems" xlink:to="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IPOMember" xlink:label="loc_us-gaapIPOMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_us-gaapIPOMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsidiarySaleOfStockLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts_20" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:title="00000007 - Statement - Consolidated Statements of cash Flows" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:title="00000008 - Disclosure - Overview and Basis of Presentation" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="00000009 - Disclosure - Summary of Significant Accounting Policies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinations" xlink:title="00000010 - Disclosure - Business Combinations" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurements" xlink:title="00000011 - Disclosure - Fair Value Measurements" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipment" xlink:title="00000012 - Disclosure - Property and Equipment" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:title="00000013 - Disclosure - Goodwill and Intangible Assets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpenses" xlink:title="00000014 - Disclosure - Accrued Expenses" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Revenue" xlink:title="00000015 - Disclosure - Revenue" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StockholdersEquity" xlink:title="00000016 - Disclosure - Stockholders&#8217; Equity" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShare" xlink:title="00000017 - Disclosure - Earnings per Share" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensation" xlink:title="00000018 - Disclosure - Stock-Based Compensation" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxes" xlink:title="00000019 - Disclosure - Income Taxes" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:title="00000020 - Disclosure - Related Party Transactions" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:title="00000021 - Disclosure - Commitments and Contingencies" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEvents" xlink:title="00000022 - Disclosure - Subsequent Events" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="00000023 - Disclosure - Summary of Significant Accounting Policies (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinationsTables" xlink:title="00000024 - Disclosure - Business Combinations (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:title="00000025 - Disclosure - Fair Value Measurements (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:title="00000026 - Disclosure - Property and Equipment (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="00000027 - Disclosure - Goodwill and Intangible Assets (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpensesTables" xlink:title="00000028 - Disclosure - Accrued Expenses (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RevenueTables" xlink:title="00000029 - Disclosure - Revenue (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareTables" xlink:title="00000030 - Disclosure - Earnings per Share (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:title="00000031 - Disclosure - Stock-Based Compensation (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesTables" xlink:title="00000032 - Disclosure - Income Taxes (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:title="00000033 - Disclosure - Commitments and Contingencies (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="00000034 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapScheduleOfProductInformationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TwoCustomersTogetherMember" xlink:label="loc_CODXTwoCustomersTogetherMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXTwoCustomersTogetherMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember_60" xlink:type="arc" order="62" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_60" xlink:type="arc" order="63" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_80" xlink:type="arc" order="83" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="loc_us-gaapAccountsReceivableGrossCurrent_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableGrossCurrent_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryNet_110" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryFinishedGoods_110" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryRawMaterials_110" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_110" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_110" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_110" xlink:type="arc" order="8" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:title="00000035 - Disclosure - Schedule of Assets and Liabilities assumed (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" xlink:title="00000036 - Disclosure - Business Combinations (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaapBusinessAcquisitionLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaapBusinessAcquisitionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_us-gaapBusinessAcquisitionAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:label="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncMember" xlink:label="loc_CODXAdvancedConceptionsIncMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_CODXAdvancedConceptionsIncMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="loc_CODXStockIssuedDuringPeriodSharesContingentConsideration_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_CODXStockIssuedDuringPeriodSharesContingentConsideration_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_60" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToShareHoldersValueAcquisitions" xlink:label="loc_CODXPaymentsToShareHoldersValueAcquisitions_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_CODXPaymentsToShareHoldersValueAcquisitions_60" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense_60" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_60" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_60" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:title="00000037 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaapFairValueByMeasurementFrequencyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaapFairValueMeasurementsRecurringMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:to="loc_us-gaapFairValueMeasurementsRecurringMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueByFairValueHierarchyLevelAxAxis" xlink:label="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueByFairValueHierarchyLevelAxDomain" xlink:label="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" xlink:to="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueByFairValueHierarchyLevelAxDomain" xlink:label="loc_CODXFairValueByFairValueHierarchyLevelAxDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" xlink:to="loc_CODXFairValueByFairValueHierarchyLevelAxDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member_70" xlink:type="arc" order="72" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member_80" xlink:type="arc" order="82" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member_90" xlink:type="arc" order="92" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecurities" xlink:label="loc_us-gaapMarketableSecurities_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapMarketableSecurities_220" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="loc_us-gaapAssetsFairValueDisclosure_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapAssetsFairValueDisclosure_220" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentConsiderationToCommonStock" xlink:label="loc_CODXFairValueOfContingentConsiderationToCommonStock_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToCommonStock_220" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentConsiderationToWarrants" xlink:label="loc_CODXFairValueOfContingentConsiderationToWarrants_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToWarrants_220" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapLiabilitiesFairValueDisclosure_220" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapLiabilitiesFairValueDisclosure_220" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:title="00000038 - Disclosure - Schedule of Changes in Fair Value Measurement (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:title="00000039 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="loc_us-gaapMeasurementInputTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapMeasurementInputTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputSharePriceMember" xlink:label="loc_us-gaapMeasurementInputSharePriceMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputSharePriceMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputStrikePriceMember" xlink:label="loc_CODXMeasurementInputStrikePriceMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputStrikePriceMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="loc_us-gaapMeasurementInputPriceVolatilityMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputPriceVolatilityMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="loc_us-gaapMeasurementInputRiskFreeInterestRateMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputRiskFreeInterestRateMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="loc_us-gaapMeasurementInputExpectedTermMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedTermMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputCostOfCapitalMember" xlink:label="loc_CODXMeasurementInputCostOfCapitalMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputCostOfCapitalMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="loc_us-gaapMeasurementInputDiscountRateMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputDiscountRateMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputEquityVolatilityMember" xlink:label="loc_CODXMeasurementInputEquityVolatilityMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputEquityVolatilityMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputAssetVolatilityMember" xlink:label="loc_CODXMeasurementInputAssetVolatilityMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputAssetVolatilityMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputRevenueVolatilityMember" xlink:label="loc_CODXMeasurementInputRevenueVolatilityMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputRevenueVolatilityMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput_120" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingTerm_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingTerm_120" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityMeasurementInput_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityMeasurementInput_120" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" xlink:label="loc_CODXBusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_CODXBusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_120" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="00000040 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaapEquipmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapEquipmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdsAndLeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife_140" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_140" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_140" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_140" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" xlink:title="00000041 - Disclosure - Schedule of Intangible Assets (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="loc_us-gaapInProcessResearchAndDevelopmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapInProcessResearchAndDevelopmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaapNoncompeteAgreementsMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapNoncompeteAgreementsMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_30" xlink:type="arc" order="32" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife_100" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross_100" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife_100" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_100" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill_100" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:title="00000042 - Disclosure - Schedule of Future Amortization Expense (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:title="00000043 - Disclosure - Schedule of Accrued Expenses (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:title="00000044 - Disclosure - Summary of Revenue by Geographic Area (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_AmericasMember" xlink:label="loc_srtAmericasMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtAmericasMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_RestOfWorldMember" xlink:label="loc_CODXRestOfWorldMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_CODXRestOfWorldMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember_60" xlink:type="arc" order="62" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="loc_us-gaapGeographicConcentrationRiskMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapGeographicConcentrationRiskMember_60" xlink:type="arc" order="63" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1_110" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:title="00000045 - Disclosure - Schedule of Deferred Revenue (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" xlink:title="00000046 - Disclosure - Stockholders&#8217; Equity (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_OptionsMember" xlink:label="loc_CODXOptionsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXOptionsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockThreeMember" xlink:label="loc_CODXCommonStockThreeMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXCommonStockThreeMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockOneMember" xlink:label="loc_CODXCommonStockOneMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXCommonStockOneMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockTwoMember" xlink:label="loc_CODXCommonStockTwoMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXCommonStockTwoMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_110" xlink:type="arc" order="111" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ThirdPartiesMember" xlink:label="loc_CODXThirdPartiesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_CODXThirdPartiesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaapBusinessAcquisitionAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapBusinessAcquisitionAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:label="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaapAntidilutiveSecuritiesNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="loc_us-gaapAntidilutiveSecuritiesNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaapAntidilutiveSecuritiesNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="loc_us-gaapAntidilutiveSecuritiesNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="loc_us-gaapConvertiblePreferredStockMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAntidilutiveSecuritiesNameDomain" xlink:to="loc_us-gaapConvertiblePreferredStockMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_InvestmentRelationsServicesMember" xlink:label="loc_CODXInvestmentRelationsServicesMember_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_CODXInvestmentRelationsServicesMember_130" xlink:type="arc" order="131" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_150" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" xlink:label="loc_CODXStockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_CODXStockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_150" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions_150" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesForfeited" xlink:label="loc_CODXStockIssuedDuringPeriodSharesForfeited_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_CODXStockIssuedDuringPeriodSharesForfeited_150" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_150" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare_150" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare_150" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock_150" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_NetProceedsFromIssuanceOfCommonStock" xlink:label="loc_CODXNetProceedsFromIssuanceOfCommonStock_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_CODXNetProceedsFromIssuanceOfCommonStock_150" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts_150" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_150" xlink:type="arc" order="12" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:title="00000047 - Disclosure - Schedule of Basic and Diluted Earnings Per Share (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:title="00000048 - Disclosure - Earnings per Share (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_50" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:title="00000049 - Disclosure - Schedule of Option Activity (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:title="00000050 - Disclosure - Schedule of Fair Value of Options Weighted Average Assumptions (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:title="00000051 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Activity (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_60" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_60" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_60" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_60" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:title="00000052 - Disclosure - Schedule of Warrant Activity (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:title="00000053 - Disclosure - Schedule of Fair Value of Warrants Assumptions (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="loc_us-gaapMeasurementInputTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapMeasurementInputTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="loc_us-gaapMeasurementInputRiskFreeInterestRateMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputRiskFreeInterestRateMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="loc_us-gaapMeasurementInputExpectedTermMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedTermMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputOptionVolatilityMember" xlink:label="loc_us-gaapMeasurementInputOptionVolatilityMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputOptionVolatilityMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedDividendRateMember" xlink:label="loc_us-gaapMeasurementInputExpectedDividendRateMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedDividendRateMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingTerm_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingTerm_50" xlink:type="arc" order="1" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:title="00000054 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockCompensationPlanMember" xlink:label="loc_us-gaapStockCompensationPlanMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapStockCompensationPlanMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_110" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="00000055 - Disclosure - Stock-Based Compensation (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:label="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockOptionsMember" xlink:label="loc_CODXStockOptionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_CODXStockOptionsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember_90" xlink:type="arc" order="92" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ThirdPartiesMember" xlink:label="loc_CODXThirdPartiesMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_CODXThirdPartiesMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance_120" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_120" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_120" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_120" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_120" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_120" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_120" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_120" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ClassOfWarrantExercisable" xlink:label="loc_CODXClassOfWarrantExercisable_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXClassOfWarrantExercisable_120" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding_120" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_120" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_120" xlink:type="arc" order="10" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:title="00000056 - Disclosure - Schedule of Components Income Tax Provision (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:title="00000057 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" xlink:title="00000058 - Disclosure - Schedule of Deferred Tax Assets (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:title="00000059 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000060 - Disclosure - Income Taxes (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="00000061 - Disclosure - Related Party Transactions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ExclusiveLicenseAgreementMember" xlink:label="loc_CODXExclusiveLicenseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_CODXExclusiveLicenseAgreementMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_DrBrentSatterfieldMember" xlink:label="loc_CODXDrBrentSatterfieldMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_CODXDrBrentSatterfieldMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="loc_us-gaapAccruedRoyaltiesCurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapAccruedRoyaltiesCurrent_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRoyalties" xlink:label="loc_us-gaapPaymentsForRoyalties_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapPaymentsForRoyalties_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:label="loc_us-gaapDueToRelatedPartiesCurrentAndNoncurrent_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapDueToRelatedPartiesCurrentAndNoncurrent_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:title="00000062 - Disclosure - Schedule of Future Minimum Lease Payments (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000063 - Disclosure - Commitments and Contingencies (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" xlink:title="00000064 - Disclosure - Subsequent Events (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSubsequentEventTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan_20" xlink:type="arc" order="0" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>18
<FILENAME>codx-20211231_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.12c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="us-gaap_ConvertiblePreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertiblePreferredStockMember" xlink:to="us-gaap_ConvertiblePreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertiblePreferredStockMember_lbl" xml:lang="en-US">Convertible Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember" xlink:label="us-gaap_PreferredStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockMember" xlink:to="us-gaap_PreferredStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockMember_lbl" xml:lang="en-US">Preferred Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xml:lang="en-US">Sale of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IPOMember" xlink:label="us-gaap_IPOMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IPOMember" xlink:to="us-gaap_IPOMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IPOMember_lbl" xml:lang="en-US">IPO [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TwoCustomersTogetherMember" xlink:label="CODX_TwoCustomersTogetherMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoCustomersTogetherMember" xlink:to="CODX_TwoCustomersTogetherMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_TwoCustomersTogetherMember_lbl" xml:lang="en-US">Two Customers Together [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xml:lang="en-US">Business Acquisition [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:label="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:to="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember_lbl" xml:lang="en-US">Advanced Conceptions, Inc. and Idaho Molecular, Inc. [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncMember" xlink:label="CODX_AdvancedConceptionsIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_AdvancedConceptionsIncMember" xlink:to="CODX_AdvancedConceptionsIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_AdvancedConceptionsIncMember_lbl" xml:lang="en-US">Advanced Conceptions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByMeasurementFrequencyAxis" xlink:to="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByMeasurementFrequencyAxis_lbl" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="us-gaap_FairValueMeasurementsRecurringMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsRecurringMember" xlink:to="us-gaap_FairValueMeasurementsRecurringMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementsRecurringMember_lbl" xml:lang="en-US">Fair Value, Recurring [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueByFairValueHierarchyLevelAxAxis" xlink:label="CODX_FairValueByFairValueHierarchyLevelAxAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueByFairValueHierarchyLevelAxAxis" xlink:to="CODX_FairValueByFairValueHierarchyLevelAxAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueByFairValueHierarchyLevelAxAxis_lbl" xml:lang="en-US">Fair Value By Fair Value Hierarchy Level Ax [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="us-gaap_MeasurementInputTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputTypeAxis" xlink:to="us-gaap_MeasurementInputTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputTypeAxis_lbl" xml:lang="en-US">Measurement Input Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputSharePriceMember" xlink:label="us-gaap_MeasurementInputSharePriceMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputSharePriceMember" xlink:to="us-gaap_MeasurementInputSharePriceMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputSharePriceMember_lbl" xml:lang="en-US">Measurement Input, Share Price [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputStrikePriceMember" xlink:label="CODX_MeasurementInputStrikePriceMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputStrikePriceMember" xlink:to="CODX_MeasurementInputStrikePriceMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_MeasurementInputStrikePriceMember_lbl" xml:lang="en-US">Measurement Input Strike Price [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputPriceVolatilityMember" xlink:to="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputPriceVolatilityMember_lbl" xml:lang="en-US">Measurement Input, Price Volatility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:to="us-gaap_MeasurementInputRiskFreeInterestRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputRiskFreeInterestRateMember_lbl" xml:lang="en-US">Measurement Input, Risk Free Interest Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="us-gaap_MeasurementInputExpectedTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputExpectedTermMember" xlink:to="us-gaap_MeasurementInputExpectedTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputExpectedTermMember_lbl" xml:lang="en-US">Measurement Input, Expected Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputCostOfCapitalMember" xlink:label="CODX_MeasurementInputCostOfCapitalMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputCostOfCapitalMember" xlink:to="CODX_MeasurementInputCostOfCapitalMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_MeasurementInputCostOfCapitalMember_lbl" xml:lang="en-US">Measurement Input Cost of Capital [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="us-gaap_MeasurementInputDiscountRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputDiscountRateMember" xlink:to="us-gaap_MeasurementInputDiscountRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputDiscountRateMember_lbl" xml:lang="en-US">Measurement Input, Discount Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputEquityVolatilityMember" xlink:label="CODX_MeasurementInputEquityVolatilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputEquityVolatilityMember" xlink:to="CODX_MeasurementInputEquityVolatilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_MeasurementInputEquityVolatilityMember_lbl" xml:lang="en-US">Measurement Input Equity Volatility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputAssetVolatilityMember" xlink:label="CODX_MeasurementInputAssetVolatilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputAssetVolatilityMember" xlink:to="CODX_MeasurementInputAssetVolatilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_MeasurementInputAssetVolatilityMember_lbl" xml:lang="en-US">Measurement Input Asset Volatility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputRevenueVolatilityMember" xlink:label="CODX_MeasurementInputRevenueVolatilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputRevenueVolatilityMember" xlink:to="CODX_MeasurementInputRevenueVolatilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_MeasurementInputRevenueVolatilityMember_lbl" xml:lang="en-US">Measurement Input Revenue Volatility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdsAndLeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdsAndLeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdsAndLeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdsAndLeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdsAndLeaseholdImprovementsMember_lbl" xml:lang="en-US">Leaseholds and Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xml:lang="en-US">Office Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In Process Research and Development [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="us-gaap_NoncompeteAgreementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_AmericasMember" xlink:label="srt_AmericasMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AmericasMember" xlink:to="srt_AmericasMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AmericasMember_lbl" xml:lang="en-US">Americas [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_RestOfWorldMember" xlink:label="CODX_RestOfWorldMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_RestOfWorldMember" xlink:to="CODX_RestOfWorldMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_RestOfWorldMember_lbl" xml:lang="en-US">Rest of World [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="us-gaap_GeographicConcentrationRiskMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeographicConcentrationRiskMember_lbl" xml:lang="en-US">Geographic Concentration Risk [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_OptionsMember" xlink:label="CODX_OptionsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_OptionsMember" xlink:to="CODX_OptionsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_OptionsMember_lbl" xml:lang="en-US">Options [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ThirdPartiesMember" xlink:label="CODX_ThirdPartiesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ThirdPartiesMember" xlink:to="CODX_ThirdPartiesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ThirdPartiesMember_lbl" xml:lang="en-US">Third Parties [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockThreeMember" xlink:label="CODX_CommonStockThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CommonStockThreeMember" xlink:to="CODX_CommonStockThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_CommonStockThreeMember_lbl" xml:lang="en-US">Common Stock Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockOneMember" xlink:label="CODX_CommonStockOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CommonStockOneMember" xlink:to="CODX_CommonStockOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_CommonStockOneMember_lbl" xml:lang="en-US">Common Stock One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockTwoMember" xlink:label="CODX_CommonStockTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CommonStockTwoMember" xlink:to="CODX_CommonStockTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_CommonStockTwoMember_lbl" xml:lang="en-US">Common Stock Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantMember" xlink:to="us-gaap_WarrantMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantMember_lbl" xml:lang="en-US">Warrant [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_InvestmentRelationsServicesMember" xlink:label="CODX_InvestmentRelationsServicesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_InvestmentRelationsServicesMember" xlink:to="CODX_InvestmentRelationsServicesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_InvestmentRelationsServicesMember_lbl" xml:lang="en-US">Investment Relations Services [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:label="CODX_TwoThousandFifteenLongTermIncentivePlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:to="CODX_TwoThousandFifteenLongTermIncentivePlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_TwoThousandFifteenLongTermIncentivePlanMember_lbl" xml:lang="en-US">2015 Long Term Incentive Plan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockOptionsMember" xlink:label="CODX_StockOptionsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockOptionsMember" xlink:to="CODX_StockOptionsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockOptionsMember_lbl" xml:lang="en-US">Stock Options [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="us-gaap_RestrictedStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockMember" xlink:to="us-gaap_RestrictedStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockMember_lbl" xml:lang="en-US">Restricted Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputOptionVolatilityMember" xlink:label="us-gaap_MeasurementInputOptionVolatilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputOptionVolatilityMember" xlink:to="us-gaap_MeasurementInputOptionVolatilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputOptionVolatilityMember_lbl" xml:lang="en-US">Measurement Input, Option Volatility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedDividendRateMember" xlink:label="us-gaap_MeasurementInputExpectedDividendRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MeasurementInputExpectedDividendRateMember" xlink:to="us-gaap_MeasurementInputExpectedDividendRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MeasurementInputExpectedDividendRateMember_lbl" xml:lang="en-US">Measurement Input, Expected Dividend Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockCompensationPlanMember" xlink:label="us-gaap_StockCompensationPlanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockCompensationPlanMember" xlink:to="us-gaap_StockCompensationPlanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockCompensationPlanMember_lbl" xml:lang="en-US">Share-based Payment Arrangement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ExclusiveLicenseAgreementMember" xlink:label="CODX_ExclusiveLicenseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ExclusiveLicenseAgreementMember" xlink:to="CODX_ExclusiveLicenseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ExclusiveLicenseAgreementMember_lbl" xml:lang="en-US">Exclusive License Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_DrBrentSatterfieldMember" xlink:label="CODX_DrBrentSatterfieldMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DrBrentSatterfieldMember" xlink:to="CODX_DrBrentSatterfieldMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_DrBrentSatterfieldMember_lbl" xml:lang="en-US">Dr. Brent Satterfield [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="us-gaap_MarketableSecuritiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesCurrent" xlink:to="us-gaap_MarketableSecuritiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesCurrent_lbl" xml:lang="en-US">Marketable investment securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xml:lang="en-US">Prepaid expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesAndLoansReceivableNetCurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xml:lang="en-US">Note receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RealEstateInvestmentsJointVentures" xlink:label="us-gaap_RealEstateInvestmentsJointVentures" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealEstateInvestmentsJointVentures" xlink:to="us-gaap_RealEstateInvestmentsJointVentures_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealEstateInvestmentsJointVentures_lbl" xml:lang="en-US">Investment in joint venture</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="us-gaap_AccountsReceivableNetNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetNoncurrent" xlink:to="us-gaap_AccountsReceivableNetNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetNoncurrent_lbl" xml:lang="en-US">Note receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesCurrent" xlink:to="us-gaap_DueToRelatedPartiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US">Accrued expenses (related party), current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:to="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent_lbl" xml:lang="en-US">Contingent consideration liabilities, current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl" xml:lang="en-US">Long-term liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TaxesPayableNoncurrent" xlink:label="CODX_TaxesPayableNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TaxesPayableNoncurrent" xlink:to="CODX_TaxesPayableNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="CODX_TaxesPayableNoncurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent_lbl" xml:lang="en-US">Contingent consideration liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesNoncurrent" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xml:lang="en-US">Accrued expenses (related party), noncurrent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US">Total long-term liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and contingencies (Note 14)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2021 and December 31, 2020</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, $0.001 par value; 100,000,000 shares authorized; 33,819,862 and 28,558,033 shares issued and outstanding as of December 31, 2021 and December 31, 2020, respectively</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Accumulated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total liabilities and stockholders&#8217; equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Convertible preferred stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Convertible preferred stock , shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US">Convertible preferred stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Convertible preferred stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl" xml:lang="en-US">Cost of revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">Sales and marketing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US">General and administrative</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research and development</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Income from operations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US">Other income (expense)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeOther_lbl" xml:lang="en-US">Interest income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="us-gaap_GainLossOnDispositionOfAssets1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_lbl" xml:lang="en-US">Loss on disposition of assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US">Gain (loss) on equity method investment in joint venture</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US">Total other income (expense)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax provision</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="us-gaap_EarningsPerShareBasicAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl" xml:lang="en-US">Earnings per common share:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xml:lang="en-US">Weighted average shares outstanding:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Beginning balance, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Beginning balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Public offering, net of offering costs of $1,457,922</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Public offering, net of offering costs, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueOther" xlink:label="us-gaap_StockIssuedDuringPeriodValueOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueOther" xlink:to="us-gaap_StockIssuedDuringPeriodValueOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueOther_lbl" xml:lang="en-US">Common stock issued for warrant exercises</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="us-gaap_StockIssuedDuringPeriodSharesOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesOther" xlink:to="us-gaap_StockIssuedDuringPeriodSharesOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesOther_lbl" xml:lang="en-US">Common stock issued for warrant exercises, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Common stock issued for option exercises</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Common stock issued for option exercises, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross_lbl" xml:lang="en-US">Stock-based compensation expense, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities_lbl" xml:lang="en-US">Conversion of preferred stock to common</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:to="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities_lbl" xml:lang="en-US">Conversion of preferred stock to common, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_lbl" xml:lang="en-US">Common stock issued for acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_lbl" xml:lang="en-US">Common stock issued for acquisitions, shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_3_lbl" xml:lang="en-US">Ending balance, value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Ending balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable_lbl" xml:lang="en-US">Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockLineItems" xlink:label="us-gaap_SubsidiarySaleOfStockLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_SubsidiarySaleOfStockLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockLineItems_lbl" xml:lang="en-US">Subsidiary, Sale of Stock [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US">Public offering costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to cash used in operating activities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="us-gaap_GainLossOnSaleOfInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfInvestments" xlink:to="us-gaap_GainLossOnSaleOfInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfInvestments_lbl" xml:lang="en-US">Loss (gain) from equity method investment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets1" xlink:to="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets1_2_lbl" xml:lang="en-US">Loss on disposition of assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Bad debt expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in assets and liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xml:lang="en-US">Prepaid expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable and accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Purchases of property and equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="us-gaap_PaymentsToAcquireMarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities_lbl" xml:lang="en-US">Purchases of marketable investment securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_lbl" xml:lang="en-US">Proceeds from maturities of marketable investment securities</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToAcquireInterestInJointVentures" xlink:label="CODX_PaymentsToAcquireInterestInJointVentures" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentsToAcquireInterestInJointVentures" xlink:to="CODX_PaymentsToAcquireInterestInJointVentures_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_PaymentsToAcquireInterestInJointVentures_lbl" xml:lang="en-US">Investment in joint venture</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_lbl" xml:lang="en-US">Business combinations, net of cash acquired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Proceeds from sale of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ProceedsFromExerciseOfOptionsAndWarrants" xlink:label="CODX_ProceedsFromExerciseOfOptionsAndWarrants" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ProceedsFromExerciseOfOptionsAndWarrants" xlink:to="CODX_ProceedsFromExerciseOfOptionsAndWarrants_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ProceedsFromExerciseOfOptionsAndWarrants_lbl" xml:lang="en-US">Proceeds from exercise of options and warrants</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_2_lbl" xml:lang="en-US">Payment of offering costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash provided by financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Net increase in cash and cash equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash and cash equivalents at end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental disclosure of cash flow information</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US">Income taxes paid</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US">Supplemental disclosure of non-cash investing and financing transactions</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:label="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:to="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_lbl" xml:lang="en-US">Inventory moved to property, plant and equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_2_lbl" xml:lang="en-US">Fair value of common stock issued as consideration for business acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:label="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:to="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_lbl" xml:lang="en-US">Fair value of contingent common stock and warrants issued as consideration for business acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US">Overview and Basis of Presentation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:to="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationAndAssetAcquisitionAbstract_lbl" xml:lang="en-US">Business Combination and Asset Acquisition [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xml:lang="en-US">Business Combinations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US">Fair Value Measurements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US">Accrued Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xml:lang="en-US">Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:to="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_lbl" xml:lang="en-US">Stock-Based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US">Related Party Transactions [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US">Related Party Transactions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Events</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xml:lang="en-US">Reclassifications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="us-gaap_MarketableSecuritiesPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesPolicy" xlink:to="us-gaap_MarketableSecuritiesPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesPolicy_lbl" xml:lang="en-US">Marketable Investment Securities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US">Equity-Method Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US">Business Combinations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Deferred Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US">Research and Development</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Net Income per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentrations Risk and Significant Customers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recently Issued Accounting Standards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US">Schedule of Assets and Liabilities assumed</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock_lbl" xml:lang="en-US">Schedule of Fair Value Assets and Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_lbl" xml:lang="en-US">Schedule of Changes in Fair Value Measurement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_lbl" xml:lang="en-US">Schedule of Contingent Consideration Common Stock and Warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of Property and Equipment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Future Amortization Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Accrued Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Summary of Revenue by Geographic Area</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of Basic and Diluted Earnings Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Option Activity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of Fair Value of Options Weighted Average Assumptions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Outstanding Restricted Stock Units and Related Activity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:to="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_lbl" xml:lang="en-US">Schedule of Warrant Activity</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" xlink:label="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" xlink:to="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of Fair Value of Warrants Assumptions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Recognized Stock-based Compensation Expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components Income Tax Provision</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Benefit from Income Taxes and Effective Tax Rates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule of Unrecognized Tax Benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of Future Minimum Lease Payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="us-gaap_ScheduleOfProductInformationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductInformationTable_lbl" xml:lang="en-US">Schedule of Product Information [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductInformationLineItems" xlink:label="us-gaap_ProductInformationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductInformationLineItems_lbl" xml:lang="en-US">Product Information [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Doubtful accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Inventory finished goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterials" xlink:label="us-gaap_InventoryRawMaterials" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterials" xlink:to="us-gaap_InventoryRawMaterials_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterials_lbl" xml:lang="en-US">Inventory raw materials</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Estimated useful life of property</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_2_lbl" xml:lang="en-US">Research and development costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration risk percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodValueAcquisitions_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueAcquisitions_3_lbl" xml:lang="en-US">Stock issued during period, value acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToShareHoldersValueAcquisitions" xlink:label="CODX_PaymentsToShareHoldersValueAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentsToShareHoldersValueAcquisitions" xlink:to="CODX_PaymentsToShareHoldersValueAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_PaymentsToShareHoldersValueAcquisitions_lbl" xml:lang="en-US">Payable to shareholders</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:to="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure_lbl" xml:lang="en-US">Fair value of contingent shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsNotSettleableInCashFairValueDisclosure" xlink:label="us-gaap_WarrantsNotSettleableInCashFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsNotSettleableInCashFairValueDisclosure" xlink:to="us-gaap_WarrantsNotSettleableInCashFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantsNotSettleableInCashFairValueDisclosure_lbl" xml:lang="en-US">Fair value of contingent warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US">Business combination, consideration transferred</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_lbl" xml:lang="en-US">Accounts receivables</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_lbl" xml:lang="en-US">Property and equipments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_lbl" xml:lang="en-US">Research and development in process</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" xlink:label="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" xlink:to="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_lbl" xml:lang="en-US">Non competition agreements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_lbl" xml:lang="en-US">Accounts payable and accrued other expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_lbl" xml:lang="en-US">Total indentifiable net assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_2_lbl" xml:lang="en-US">Number of shares exchanged</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="CODX_StockIssuedDuringPeriodSharesContingentConsideration" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesContingentConsideration" xlink:to="CODX_StockIssuedDuringPeriodSharesContingentConsideration_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockIssuedDuringPeriodSharesContingentConsideration_lbl" xml:lang="en-US">Number of shares on contingent consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_lbl" xml:lang="en-US">Warrants to purchase shares of common stock</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_2_lbl" xml:lang="en-US">General and administrative expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Equity method investment ownership percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_lbl" xml:lang="en-US">Finite lived intangible assets remaining amortization period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US">Fair Value, Recurring and Nonrecurring [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueByFairValueHierarchyLevelAxAxis" xlink:to="CODX_FairValueByFairValueHierarchyLevelAxAxis_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="CODX_FairValueByFairValueHierarchyLevelAxAxis_2_lbl" xml:lang="en-US">FairValueByFairValueHierarchyLevelAxAxis [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecurities" xlink:label="us-gaap_MarketableSecurities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecurities" xlink:to="us-gaap_MarketableSecurities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecurities_lbl" xml:lang="en-US">Marketable securities (certificates of deposit)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_AssetsFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsFairValueDisclosure_lbl" xml:lang="en-US">Total assets measured at fair value</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentConsiderationToCommonStock" xlink:label="CODX_FairValueOfContingentConsiderationToCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToCommonStock" xlink:to="CODX_FairValueOfContingentConsiderationToCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueOfContingentConsiderationToCommonStock_lbl" xml:lang="en-US">Contingent consideration common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentConsiderationToWarrants" xlink:label="CODX_FairValueOfContingentConsiderationToWarrants" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToWarrants" xlink:to="CODX_FairValueOfContingentConsiderationToWarrants_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_FairValueOfContingentConsiderationToWarrants_lbl" xml:lang="en-US">Contingent consideration warrants</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xml:lang="en-US">Total liabilities measured at fair value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_lbl" xml:lang="en-US">Asset acquisition contingent consideration liability noncurrent</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:label="CODX_ContingentConsideredIssuedForBusinessAcquisitions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:to="CODX_ContingentConsideredIssuedForBusinessAcquisitions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ContingentConsideredIssuedForBusinessAcquisitions_lbl" xml:lang="en-US">Contingent considered issued for business acquisitions</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_2_lbl" xml:lang="en-US">Asset acquisition contingent consideration liability noncurrent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable_lbl" xml:lang="en-US">Fair Value Measurement Inputs and Valuation Techniques [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems_lbl" xml:lang="en-US">Fair Value Measurement Inputs and Valuation Techniques [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="us-gaap_WarrantsAndRightsOutstandingMeasurementInput" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:to="us-gaap_WarrantsAndRightsOutstandingMeasurementInput_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantsAndRightsOutstandingMeasurementInput_lbl" xml:lang="en-US">Warrants measurement input</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="us-gaap_WarrantsAndRightsOutstandingTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsAndRightsOutstandingTerm" xlink:to="us-gaap_WarrantsAndRightsOutstandingTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WarrantsAndRightsOutstandingTerm_lbl" xml:lang="en-US">Warrants measurement, term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput_lbl" xml:lang="en-US">Business combination,contingent consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" xlink:label="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" xlink:to="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_lbl" xml:lang="en-US">Business combination,contingent consideration, term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_2_lbl" xml:lang="en-US">Property and equipment estimated useful lives</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Property and equipment, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Less: accumulated depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:label="CODX_IndefiniteLivedIntangibleAssetUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:to="CODX_IndefiniteLivedIntangibleAssetUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IndefiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful lives in years, term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Intangible assets, gross</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful lives in years</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Less accumulated amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="us-gaap_AccruedPayrollTaxesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedPayrollTaxesCurrent" xlink:to="us-gaap_AccruedPayrollTaxesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedPayrollTaxesCurrent_lbl" xml:lang="en-US">Payroll liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="us-gaap_AccruedSalesCommissionCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedSalesCommissionCurrent" xlink:to="us-gaap_AccruedSalesCommissionCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedSalesCommissionCurrent_lbl" xml:lang="en-US">Distributor commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesAndExciseTaxPayableCurrent" xlink:to="us-gaap_SalesAndExciseTaxPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent_lbl" xml:lang="en-US">Sales tax payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Other accrued liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_2_lbl" xml:lang="en-US">Total accrued expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US">Revenue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_2_lbl" xml:lang="en-US">Percentage of revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US">Deferred revenue, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US">Revenue recognized included in deferred revenue balance at the beginning of the period</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:label="CODX_IncreaseDueToPrepaymentsFromCustomers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:to="CODX_IncreaseDueToPrepaymentsFromCustomers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IncreaseDueToPrepaymentsFromCustomers_lbl" xml:lang="en-US">Increase due to prepayments from customers</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IncreaseDueToNoteReceivable" xlink:label="CODX_IncreaseDueToNoteReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToNoteReceivable" xlink:to="CODX_IncreaseDueToNoteReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_IncreaseDueToNoteReceivable_lbl" xml:lang="en-US">Increase due to note receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" xlink:label="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" xlink:to="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_lbl" xml:lang="en-US">Decrease due to refunds to customers and application to open balances</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ContractWithCustomerLiability_2_lbl" xml:lang="en-US">Deferred revenue, Ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Number of shares issued for exercise of options</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2_lbl" xml:lang="en-US">Number of shares issued for exercise of options, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Number of shares issued for services</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" xlink:label="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" xlink:to="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_lbl" xml:lang="en-US">Vest and restricted stock units</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:to="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesAcquisitions_2_lbl" xml:lang="en-US">Stock Issued During Period, Shares, Acquisitions</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesForfeited" xlink:label="CODX_StockIssuedDuringPeriodSharesForfeited" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesForfeited" xlink:to="CODX_StockIssuedDuringPeriodSharesForfeited_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockIssuedDuringPeriodSharesForfeited_lbl" xml:lang="en-US">[custom:StockIssuedDuringPeriodSharesForfeited]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_3_lbl" xml:lang="en-US">Number of common stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="us-gaap_SaleOfStockPricePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPricePerShare" xlink:to="us-gaap_SaleOfStockPricePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPricePerShare_lbl" xml:lang="en-US">Sale of common stock purchase price per shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_2_lbl" xml:lang="en-US">Issuance of common stock gross proceeds</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_NetProceedsFromIssuanceOfCommonStock" xlink:label="CODX_NetProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NetProceedsFromIssuanceOfCommonStock" xlink:to="CODX_NetProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_NetProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Net proceeds from issuance of common stock</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_3_lbl" xml:lang="en-US">Offering costs</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Potentially dilutive shares</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_3_lbl" xml:lang="en-US">Net income, as reported</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_WeightedAverageNumberOfBasicSharesOutstanding" xlink:label="CODX_WeightedAverageNumberOfBasicSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_WeightedAverageNumberOfBasicSharesOutstanding" xlink:to="CODX_WeightedAverageNumberOfBasicSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_WeightedAverageNumberOfBasicSharesOutstanding_lbl" xml:lang="en-US">Weighted average shares, basic</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xml:lang="en-US">Dilutive effect of stock options, warrants and RSUs</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_2_lbl" xml:lang="en-US">Shares used to compute diluted earnings per share</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_EarningsBasicPerShare" xlink:label="CODX_EarningsBasicPerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EarningsBasicPerShare" xlink:to="CODX_EarningsBasicPerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_EarningsBasicPerShare_lbl" xml:lang="en-US">Basic earnings per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_2_lbl" xml:lang="en-US">Diluted earnings per share</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_2_lbl" xml:lang="en-US">Securities excluded from computation of diluted earnings per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Options Outstanding, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xml:lang="en-US">Number of Options Outstanding, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US">Number of Options Outstanding, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:label="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:to="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1_lbl" xml:lang="en-US">Number of Options Outstanding, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_lbl" xml:lang="en-US">Weighted Average Fair Value Exercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xml:lang="en-US">Number of Options Outstanding, Ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding, Ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Weighted Average Fair Value Outstanding, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (years) Outstanding, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of Options Exercisable Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Exercisable Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_lbl" xml:lang="en-US">Weighted Average Fair Value, Exercisable Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (years), Exercisable Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Risk-free interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected life (years)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Expected volatility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Expected dividend yield</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Outstanding Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Outstanding Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Forfeited/Cancelled</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2_lbl" xml:lang="en-US">Number of Restricted Stock Units, Outstanding Ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Weighted Average Grant Date Fair Value, Outstanding Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xml:lang="en-US">Number of Warrants Outstanding, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xml:lang="en-US">Number of Warrants Outstanding, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xml:lang="en-US">Number of Warrants Outstanding, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xml:lang="en-US">Number of Warrants Outstanding, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Forfeited/Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xml:lang="en-US">Number of Warrants Outstanding, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted Average Fair Value, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2_lbl" xml:lang="en-US">Number of Warrants Outstanding, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price, Ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_2_lbl" xml:lang="en-US">Weighted Average Fair Value, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted-average Remaining Contractual Life (Years) Outstanding, Ending</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:to="us-gaap_WarrantsAndRightsOutstandingMeasurementInput_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WarrantsAndRightsOutstandingMeasurementInput_2_lbl" xml:lang="en-US">Warrants outstanding, measurement input</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantsAndRightsOutstandingTerm" xlink:to="us-gaap_WarrantsAndRightsOutstandingTerm_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WarrantsAndRightsOutstandingTerm_2_lbl" xml:lang="en-US">Warrants, expected life</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US">Total stock-based compensation expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Aggregate number of common shares reserved</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US">Number of common shares availalble for issuance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Intrinsic value of options outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_lbl" xml:lang="en-US">Unvested options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Unrecognized stock-based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Unrecognized stock-based compensation recognition period</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US">Intrinsic value of warrants exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ClassOfWarrantExercisable" xlink:label="CODX_ClassOfWarrantExercisable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ClassOfWarrantExercisable" xlink:to="CODX_ClassOfWarrantExercisable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ClassOfWarrantExercisable_lbl" xml:lang="en-US">Warrants exercisable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfWarrantOrRightOutstanding" xlink:to="us-gaap_ClassOfWarrantOrRightOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ClassOfWarrantOrRightOutstanding_2_lbl" xml:lang="en-US">Warrants purchase</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Current:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Total current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_lbl" xml:lang="en-US">Deferred:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">State</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Total deferred</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Total income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US">Federal income tax expense at statutory rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax expense, net of federal tax benefit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_lbl" xml:lang="en-US">Permanent differences:</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_lbl" xml:lang="en-US">- Foreign derived intangible income deduction</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">- Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US">- Other permanent differences</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_lbl" xml:lang="en-US">Research and development credits</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_lbl" xml:lang="en-US">Change in uncertain tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US">Other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Effective income tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US">Deferred tax assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US">Accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US">Reserves and allowances</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xml:lang="en-US">Deferred compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_lbl" xml:lang="en-US">Research and development credits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Total deferred tax assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Deferred tax liabilities:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US">Property and equipment, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_lbl" xml:lang="en-US">Intangibles, net</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_lbl" xml:lang="en-US">Prepaids</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Other</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred tax liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Net deferred tax assets (liabilities)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Less valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Net deferred tax assets (liabilities)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_2_lbl" xml:lang="en-US">Net deferred tax assets (liabilities)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Unrecognized tax benefits at the beginning of the year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xml:lang="en-US">Gross increases - current year tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Gross increases - prior year tax positions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Gross decreases- prior year tax positions</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_2_lbl" xml:lang="en-US">Unrecognized tax benefits at end of year</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_lbl" xml:lang="en-US">Interest and penalities in year- end balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carry-forwards</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_2_lbl" xml:lang="en-US">Research and development credit carry forwards</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Deferred tax valuation allowance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xml:lang="en-US">Unrecognized tax benefits that would impact effective tax rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="us-gaap_AccruedRoyaltiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedRoyaltiesCurrent" xlink:to="us-gaap_AccruedRoyaltiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedRoyaltiesCurrent_lbl" xml:lang="en-US">Accrued royalties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRoyalties" xlink:label="us-gaap_PaymentsForRoyalties" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRoyalties" xlink:to="us-gaap_PaymentsForRoyalties_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRoyalties_lbl" xml:lang="en-US">Payment for royalties per month</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:to="us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Due to related party</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2022</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2023</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Operating lease, term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AreaOfLand" xlink:label="us-gaap_AreaOfLand" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AreaOfLand" xlink:to="us-gaap_AreaOfLand_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AreaOfLand_lbl" xml:lang="en-US">Area of land</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRent" xlink:label="us-gaap_PaymentsForRent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRent" xlink:to="us-gaap_PaymentsForRent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRent_lbl" xml:lang="en-US">Payments for rent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseExpirationDate1" xlink:to="us-gaap_LeaseExpirationDate1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseExpirationDate1_lbl" xml:lang="en-US">Lease expiration date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseAndRentalExpense" xlink:label="us-gaap_LeaseAndRentalExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseAndRentalExpense" xlink:to="us-gaap_LeaseAndRentalExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseAndRentalExpense_lbl" xml:lang="en-US">Rent expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US">Subsequent Event [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xml:lang="en-US">Employee stock purchase plan</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_RestOfWorldMember" xlink:to="CODX_RestOfWorldMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_RestOfWorldMember_doc" xml:lang="en-US">Rest of World [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:to="CODX_IncreaseDueToPrepaymentsFromCustomers_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IncreaseDueToPrepaymentsFromCustomers_doc" xml:lang="en-US">Increase due to prepayments from customers.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IncreaseDueToNoteReceivable" xlink:to="CODX_IncreaseDueToNoteReceivable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IncreaseDueToNoteReceivable_doc" xml:lang="en-US">Increase due to note receivable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" xlink:to="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_doc" xml:lang="en-US">Decrease due to refunds to customers and application to open balances.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_OptionsMember" xlink:to="CODX_OptionsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_OptionsMember_doc" xml:lang="en-US">Options [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentsToAcquireInterestInJointVentures" xlink:to="CODX_PaymentsToAcquireInterestInJointVentures_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_PaymentsToAcquireInterestInJointVentures_doc" xml:lang="en-US">Payments to acquire interest in joint ventures.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ProceedsFromExerciseOfOptionsAndWarrants" xlink:to="CODX_ProceedsFromExerciseOfOptionsAndWarrants_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ProceedsFromExerciseOfOptionsAndWarrants_doc" xml:lang="en-US">Proceeds from exercise of options and warrants.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:to="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment_doc" xml:lang="en-US">Non cash or part non cash inventory moved to property plant and equipment.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ThirdPartiesMember" xlink:to="CODX_ThirdPartiesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ThirdPartiesMember_doc" xml:lang="en-US">Third Parties [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_InvestmentRelationsServicesMember" xlink:to="CODX_InvestmentRelationsServicesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_InvestmentRelationsServicesMember_doc" xml:lang="en-US">Investment Relations Services [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:to="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions_doc" xml:lang="en-US">Fair value of contingent common stock and warrants issued as consideration for business acquisitions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_NetProceedsFromIssuanceOfCommonStock" xlink:to="CODX_NetProceedsFromIssuanceOfCommonStock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_NetProceedsFromIssuanceOfCommonStock_doc" xml:lang="en-US">Net proceeds from issuance of common stock.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CommonStockOneMember" xlink:to="CODX_CommonStockOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_CommonStockOneMember_doc" xml:lang="en-US">Common Stock One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoCustomersTogetherMember" xlink:to="CODX_TwoCustomersTogetherMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_TwoCustomersTogetherMember_doc" xml:lang="en-US">Two Customers Together [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CommonStockTwoMember" xlink:to="CODX_CommonStockTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_CommonStockTwoMember_doc" xml:lang="en-US">Common Stock Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IdahoMolecularMember" xlink:label="CODX_IdahoMolecularMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IdahoMolecularMember" xlink:to="CODX_IdahoMolecularMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IdahoMolecularMember_doc" xml:lang="en-US">Idaho Molecular [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsMember" xlink:label="CODX_AdvancedConceptionsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_AdvancedConceptionsMember" xlink:to="CODX_AdvancedConceptionsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_AdvancedConceptionsMember_doc" xml:lang="en-US">Advanced Conceptions [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_WeightedAverageNumberOfBasicSharesOutstanding" xlink:to="CODX_WeightedAverageNumberOfBasicSharesOutstanding_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_WeightedAverageNumberOfBasicSharesOutstanding_doc" xml:lang="en-US">Weighted average number of basic shares outstanding.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EarningsBasicPerShare" xlink:to="CODX_EarningsBasicPerShare_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_EarningsBasicPerShare_doc" xml:lang="en-US">Earnings basic per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:to="CODX_TwoThousandFifteenLongTermIncentivePlanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_TwoThousandFifteenLongTermIncentivePlanMember_doc" xml:lang="en-US">2015 Long Term Incentive Plan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercisable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockOptionsMember" xlink:to="CODX_StockOptionsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockOptionsMember_doc" xml:lang="en-US">Stock Options [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" xlink:to="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities non competition agreements.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentsToShareHoldersValueAcquisitions" xlink:to="CODX_PaymentsToShareHoldersValueAcquisitions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_PaymentsToShareHoldersValueAcquisitions_doc" xml:lang="en-US">Payments to share holders value acquisitions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average exercise price, beginning.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToCommonStock" xlink:to="CODX_FairValueOfContingentConsiderationToCommonStock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueOfContingentConsiderationToCommonStock_doc" xml:lang="en-US">Fair value of contingent consideration to common stock.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueByFairValueHierarchyLevelAxAxis" xlink:to="CODX_FairValueByFairValueHierarchyLevelAxAxis_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueByFairValueHierarchyLevelAxAxis_doc" xml:lang="en-US">Fair value by fair value hierachy level axis.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted Average Fair Value, Beginning.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted Average Exercise Price, Granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted Average Fair Value, Forfeited/Cancelled.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_FairValueOfContingentConsiderationToWarrants" xlink:to="CODX_FairValueOfContingentConsiderationToWarrants_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_FairValueOfContingentConsiderationToWarrants_doc" xml:lang="en-US">Fair value of contigent consideration to warrants.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average price at which grantees could have acquired the underlying shares with respect to non-options of the plan that expired.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted Average Exercise Price, Forfeited/Cancelled.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted Average Exercise Price, Forfeited/Cancelled.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Weighted Average Fair Value, Exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:to="CODX_ContingentConsideredIssuedForBusinessAcquisitions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ContingentConsideredIssuedForBusinessAcquisitions_doc" xml:lang="en-US">Contingent considered issued for business acquisitions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_doc" xml:lang="en-US">Weighted average price at which grantees can acquire the shares reserved for issuance under the non-option plan.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_doc" xml:lang="en-US">Share-based compensation arrangement by share-based payment award, non-option, granted in period, weighted average exercise price.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_doc" xml:lang="en-US">Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_doc" xml:lang="en-US">Weighted-average Remaining Contractual Life (Years) Outstanding, Ending.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputStrikePriceMember" xlink:to="CODX_MeasurementInputStrikePriceMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_MeasurementInputStrikePriceMember_doc" xml:lang="en-US">Measurement Input Strike Price [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_doc" xml:lang="en-US">Intrinsic value of warrants exercised.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputCostOfCapitalMember" xlink:to="CODX_MeasurementInputCostOfCapitalMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_MeasurementInputCostOfCapitalMember_doc" xml:lang="en-US">Measurement Input Cost of Capital [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" xlink:to="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_doc" xml:lang="en-US">Schedule of Fair Values Warrants Assumptions [Table text block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputEquityVolatilityMember" xlink:to="CODX_MeasurementInputEquityVolatilityMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_MeasurementInputEquityVolatilityMember_doc" xml:lang="en-US">Measurement Input Equity Volatility [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputAssetVolatilityMember" xlink:to="CODX_MeasurementInputAssetVolatilityMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_MeasurementInputAssetVolatilityMember_doc" xml:lang="en-US">Measurement Input Asset Volatility [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_MeasurementInputRevenueVolatilityMember" xlink:to="CODX_MeasurementInputRevenueVolatilityMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_MeasurementInputRevenueVolatilityMember_doc" xml:lang="en-US">Measurement Input Revenue Volatility [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:to="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember_doc" xml:lang="en-US">Advanced Conceptions, Inc. and Idaho Molecular, Inc. [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesContingentConsideration" xlink:to="CODX_StockIssuedDuringPeriodSharesContingentConsideration_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockIssuedDuringPeriodSharesContingentConsideration_doc" xml:lang="en-US">Stock issued during period shares contingent consideration.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ClassOfWarrantExercisable" xlink:to="CODX_ClassOfWarrantExercisable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ClassOfWarrantExercisable_doc" xml:lang="en-US">Class of warrant exercisable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_AdvancedConceptionsIncMember" xlink:to="CODX_AdvancedConceptionsIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_AdvancedConceptionsIncMember_doc" xml:lang="en-US">Advanced Conceptions Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" xlink:to="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_doc" xml:lang="en-US">Stock issued during period shares issued for vest and restricted stock units.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TaxesPayableNoncurrent" xlink:to="CODX_TaxesPayableNoncurrent_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_TaxesPayableNoncurrent_doc" xml:lang="en-US">Taxes payable non current.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:to="CODX_IndefiniteLivedIntangibleAssetUsefulLife_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_IndefiniteLivedIntangibleAssetUsefulLife_doc" xml:lang="en-US">Indefinite lived intangible asset useful life.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_CommonStockThreeMember" xlink:to="CODX_CommonStockThreeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_CommonStockThreeMember_doc" xml:lang="en-US">Common Stock Three [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_doc" xml:lang="en-US">Effective income tax rate reconcilation foreign derived intangible income deduction.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:to="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_doc" xml:lang="en-US">Effective income tax rate reconciliation change in valuation allowance.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ExclusiveLicenseAgreementMember" xlink:to="CODX_ExclusiveLicenseAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_ExclusiveLicenseAgreementMember_doc" xml:lang="en-US">Exclusive License Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_DrSatterfieldMember" xlink:label="CODX_DrSatterfieldMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DrSatterfieldMember" xlink:to="CODX_DrSatterfieldMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DrSatterfieldMember_doc" xml:lang="en-US">Dr. Satterfield [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DrBrentSatterfieldMember" xlink:to="CODX_DrBrentSatterfieldMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_DrBrentSatterfieldMember_doc" xml:lang="en-US">Dr. Brent Satterfield [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" xlink:to="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_doc" xml:lang="en-US">Value of input, expected term used to measure contingent consideration liability from business combination.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesForfeited" xlink:to="CODX_StockIssuedDuringPeriodSharesForfeited_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockIssuedDuringPeriodSharesForfeited_doc" xml:lang="en-US">Number of shares forfeited during period.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:to="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1_doc" xml:lang="en-US">Number of share options (or share units) exercised during the current period.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetNoncurrent" xlink:to="us-gaap_AccountsReceivableNetNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetNoncurrent_2_lbl" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Noncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_TaxesPayableNoncurrent" xlink:to="CODX_TaxesPayableNoncurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_TaxesPayableNoncurrent_3_lbl" xml:lang="en-US">TaxesPayableNoncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrent_2_lbl" xml:lang="en-US">Liabilities, Noncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_4_lbl" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_2_lbl" xml:lang="en-US">Nonoperating Income (Expense)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_2_lbl" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfInvestments" xlink:to="us-gaap_GainLossOnSaleOfInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfInvestments_2_lbl" xml:lang="en-US">Gain (Loss) on Sale of Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2_lbl" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_2_lbl" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="us-gaap_PaymentsToAcquireMarketableSecurities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireMarketableSecurities_2_lbl" xml:lang="en-US">Payments to Acquire Marketable Securities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_PaymentsToAcquireInterestInJointVentures" xlink:to="CODX_PaymentsToAcquireInterestInJointVentures_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_PaymentsToAcquireInterestInJointVentures_3_lbl" xml:lang="en-US">PaymentsToAcquireInterestInJointVentures</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_2_lbl" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_2_lbl" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_2_lbl" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_2_lbl" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_2_lbl" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_2_lbl" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:to="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3_lbl" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_2_lbl" xml:lang="en-US">Revenue from Contract with Customer, Including Assessed Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_3_lbl" xml:lang="en-US">Contract with Customer, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_2_lbl" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" xlink:to="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_3_lbl" xml:lang="en-US">DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Option, Nonvested, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:to="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1_3_lbl" xml:lang="en-US">StockIssuedDuringPeriodSharesStockOptionsExercised1</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_3_lbl" xml:lang="en-US">SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_3_lbl" xml:lang="en-US">SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_3_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_3_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_3_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:to="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_4_lbl" xml:lang="en-US">SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Expirations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_2_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:to="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit_2_lbl" xml:lang="en-US">Current Federal, State and Local, Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit_2_lbl" xml:lang="en-US">Deferred Federal, State and Local, Tax Expense (Benefit)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_2_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_2_lbl" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:to="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPrepaidExpenses_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Prepaid Expenses</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_2_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_3_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_3_lbl" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_2_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_2_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties Accrued</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_2_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>19
<FILENAME>codx-20211231_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.12c -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://codiagnostics.com/role/Cover" xlink:href="codx-20211231.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheets" xlink:href="codx-20211231.xsd#BalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:href="codx-20211231.xsd#BalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfOperations" xlink:href="codx-20211231.xsd#StatementsOfOperations" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:href="codx-20211231.xsd#StatementOfChangesInStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" xlink:href="codx-20211231.xsd#StatementOfChangesInStockholdersEquityParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:href="codx-20211231.xsd#StatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:href="codx-20211231.xsd#OverviewAndBasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinations" xlink:href="codx-20211231.xsd#BusinessCombinations" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurements" xlink:href="codx-20211231.xsd#FairValueMeasurements" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipment" xlink:href="codx-20211231.xsd#PropertyAndEquipment" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:href="codx-20211231.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpenses" xlink:href="codx-20211231.xsd#AccruedExpenses" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Revenue" xlink:href="codx-20211231.xsd#Revenue" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StockholdersEquity" xlink:href="codx-20211231.xsd#StockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShare" xlink:href="codx-20211231.xsd#EarningsPerShare" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensation" xlink:href="codx-20211231.xsd#Stock-basedCompensation" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxes" xlink:href="codx-20211231.xsd#IncomeTaxes" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:href="codx-20211231.xsd#RelatedPartyTransactions" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:href="codx-20211231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEvents" xlink:href="codx-20211231.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinationsTables" xlink:href="codx-20211231.xsd#BusinessCombinationsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:href="codx-20211231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:href="codx-20211231.xsd#PropertyAndEquipmentTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="codx-20211231.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/AccruedExpensesTables" xlink:href="codx-20211231.xsd#AccruedExpensesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RevenueTables" xlink:href="codx-20211231.xsd#RevenueTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareTables" xlink:href="codx-20211231.xsd#EarningsPerShareTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:href="codx-20211231.xsd#Stock-basedCompensationTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesTables" xlink:href="codx-20211231.xsd#IncomeTaxesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:href="codx-20211231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="codx-20211231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:href="codx-20211231.xsd#ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" xlink:href="codx-20211231.xsd#BusinessCombinationsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:href="codx-20211231.xsd#ScheduleOfChangesInFairValueMeasurementDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:href="codx-20211231.xsd#ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:href="codx-20211231.xsd#ScheduleOfPropertyAndEquipmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" xlink:href="codx-20211231.xsd#ScheduleOfIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:href="codx-20211231.xsd#ScheduleOfFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:href="codx-20211231.xsd#ScheduleOfAccruedExpensesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:href="codx-20211231.xsd#SummaryOfRevenueByGeographicAreaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:href="codx-20211231.xsd#ScheduleOfDeferredRevenueDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" xlink:href="codx-20211231.xsd#StockholdersEquityDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:href="codx-20211231.xsd#ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:href="codx-20211231.xsd#EarningsPerShareDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfOptionActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:href="codx-20211231.xsd#ScheduleOfWarrantActivityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:href="codx-20211231.xsd#ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:href="codx-20211231.xsd#Stock-basedCompensationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:href="codx-20211231.xsd#ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:href="codx-20211231.xsd#ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" xlink:href="codx-20211231.xsd#ScheduleOfDeferredTaxAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:href="codx-20211231.xsd#ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:href="codx-20211231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="codx-20211231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:href="codx-20211231.xsd#ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="codx-20211231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" xlink:href="codx-20211231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
      <link:presentationArc order="580" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
      <link:presentationArc order="590" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
      <link:presentationArc order="600" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
      <link:presentationArc order="610" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheets" xlink:title="00000002 - Statement - Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="loc_us-gaapMarketableSecuritiesCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapMarketableSecuritiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="loc_us-gaapNotesAndLoansReceivableNetCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapNotesAndLoansReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RealEstateInvestmentsJointVentures" xlink:label="loc_us-gaapRealEstateInvestmentsJointVentures" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapRealEstateInvestmentsJointVentures" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetNoncurrent" xlink:label="loc_us-gaapAccountsReceivableNetNoncurrent" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAccountsReceivableNetNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="loc_us-gaapDueToRelatedPartiesCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDueToRelatedPartiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TaxesPayableNoncurrent" xlink:label="loc_CODXTaxesPayableNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_CODXTaxesPayableNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapAssetAcquisitionContingentConsiderationLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesNoncurrent" xlink:label="loc_us-gaapDueToRelatedPartiesNoncurrent" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapDueToRelatedPartiesNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesNoncurrentAbstract" xlink:to="loc_us-gaapLiabilitiesNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapCommitmentsAndContingencies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BalanceSheetsParenthetical" xlink:title="00000003 - Statement - Consolidated Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfOperations" xlink:title="00000004 - Statement - Consolidated Statements of Operations">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapNonoperatingIncomeExpenseAbstract" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="loc_us-gaapNonoperatingIncomeExpense" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNonoperatingIncomeExpenseAbstract" xlink:to="loc_us-gaapNonoperatingIncomeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaapEarningsPerShareBasicAbstract" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasicAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareBasicAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity" xlink:title="00000005 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="loc_us-gaapConvertiblePreferredStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PreferredStockMember" xlink:label="loc_us-gaapPreferredStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapPreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueOther" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesOther" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesOther" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensationGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensationGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueConversionOfConvertibleSecurities" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueConversionOfConvertibleSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesConversionOfConvertibleSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_2" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical" xlink:title="00000006 - Statement - Consolidated Statement of Changes in Stockholders&apos; Equity (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:label="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockLineItems" xlink:label="loc_us-gaapSubsidiarySaleOfStockLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IPOMember" xlink:label="loc_us-gaapIPOMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_us-gaapIPOMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StatementsOfCashFlows" xlink:title="00000007 - Statement - Consolidated Statements of cash Flows">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaapGainLossOnSaleOfInvestments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnSaleOfInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnDispositionOfAssets1" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets1" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireMarketableSecurities" xlink:label="loc_us-gaapPaymentsToAcquireMarketableSecurities" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireMarketableSecurities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:label="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToAcquireInterestInJointVentures" xlink:label="loc_CODXPaymentsToAcquireInterestInJointVentures" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_CODXPaymentsToAcquireInterestInJointVentures" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ProceedsFromExerciseOfOptionsAndWarrants" xlink:label="loc_CODXProceedsFromExerciseOfOptionsAndWarrants" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_CODXProceedsFromExerciseOfOptionsAndWarrants" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapInterestPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSupplementalCashFlowInformationAbstract" xlink:to="loc_us-gaapIncomeTaxesPaidNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:label="loc_CODXNoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_CODXNoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:label="loc_CODXFairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncashInvestingAndFinancingItemsAbstract" xlink:to="loc_CODXFairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/OverviewAndBasisOfPresentation" xlink:title="00000008 - Disclosure - Overview and Basis of Presentation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="00000009 - Disclosure - Summary of Significant Accounting Policies">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinations" xlink:title="00000010 - Disclosure - Business Combinations">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaapBusinessCombinationDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurements" xlink:title="00000011 - Disclosure - Fair Value Measurements">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaapFairValueDisclosuresTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueDisclosuresTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipment" xlink:title="00000012 - Disclosure - Property and Equipment">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssets" xlink:title="00000013 - Disclosure - Goodwill and Intangible Assets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpenses" xlink:title="00000014 - Disclosure - Accrued Expenses">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Revenue" xlink:title="00000015 - Disclosure - Revenue">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StockholdersEquity" xlink:title="00000016 - Disclosure - Stockholders&#8217; Equity">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShare" xlink:title="00000017 - Disclosure - Earnings per Share">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensation" xlink:title="00000018 - Disclosure - Stock-Based Compensation">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:label="loc_us-gaapDisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxes" xlink:title="00000019 - Disclosure - Income Taxes">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactions" xlink:title="00000020 - Disclosure - Related Party Transactions">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingencies" xlink:title="00000021 - Disclosure - Commitments and Contingencies">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEvents" xlink:title="00000022 - Disclosure - Subsequent Events">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="00000023 - Disclosure - Summary of Significant Accounting Policies (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="loc_us-gaapPriorPeriodReclassificationAdjustmentDescription" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPriorPeriodReclassificationAdjustmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecuritiesPolicy" xlink:label="loc_us-gaapMarketableSecuritiesPolicy" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapMarketableSecuritiesPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="loc_us-gaapTradeAndOtherAccountsReceivablePolicy" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapTradeAndOtherAccountsReceivablePolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="loc_us-gaapBusinessCombinationsPolicy" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessCombinationsPolicy" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaapRevenueRecognitionPolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueRecognitionPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="loc_us-gaapResearchAndDevelopmentExpensePolicy" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpensePolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinationsTables" xlink:title="00000024 - Disclosure - Business Combinations (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/FairValueMeasurementsTables" xlink:title="00000025 - Disclosure - Fair Value Measurements (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/PropertyAndEquipmentTables" xlink:title="00000026 - Disclosure - Property and Equipment (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="00000027 - Disclosure - Goodwill and Intangible Assets (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/AccruedExpensesTables" xlink:title="00000028 - Disclosure - Accrued Expenses (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RevenueTables" xlink:title="00000029 - Disclosure - Revenue (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareTables" xlink:title="00000030 - Disclosure - Earnings per Share (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationTables" xlink:title="00000031 - Disclosure - Stock-Based Compensation (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:label="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" xlink:label="loc_CODXScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXScheduleOfFairValuesWarrantsAssumptionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationActivityTableTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesTables" xlink:title="00000032 - Disclosure - Income Taxes (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="loc_us-gaapScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesTables" xlink:title="00000033 - Disclosure - Commitments and Contingencies (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="00000034 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfProductInformationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapProductInformationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtMajorCustomersAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TwoCustomersTogetherMember" xlink:label="loc_CODXTwoCustomersTogetherMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_CODXTwoCustomersTogetherMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaapCustomerConcentrationRiskMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapCustomerConcentrationRiskMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="loc_us-gaapAccountsReceivableGrossCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableGrossCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterials" xlink:label="loc_us-gaapInventoryRawMaterials" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapInventoryRawMaterials" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails" xlink:title="00000035 - Disclosure - Schedule of Assets and Liabilities assumed (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueAcquisitions" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToShareHoldersValueAcquisitions" xlink:label="loc_CODXPaymentsToShareHoldersValueAcquisitions" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_CODXPaymentsToShareHoldersValueAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:label="loc_us-gaapContingentConsiderationClassifiedAsEquityFairValueDisclosure" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapContingentConsiderationClassifiedAsEquityFairValueDisclosure" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsNotSettleableInCashFairValueDisclosure" xlink:label="loc_us-gaapWarrantsNotSettleableInCashFairValueDisclosure" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapWarrantsNotSettleableInCashFairValueDisclosure" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" xlink:label="loc_CODXBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_CODXBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative" xlink:title="00000036 - Disclosure - Business Combinations (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationAndAssetAcquisitionAbstract" xlink:label="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessCombinationAndAssetAcquisitionAbstract" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaapBusinessAcquisitionLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_us-gaapBusinessAcquisitionLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaapBusinessAcquisitionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_us-gaapBusinessAcquisitionAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:label="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncMember" xlink:label="loc_CODXAdvancedConceptionsIncMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_CODXAdvancedConceptionsIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesContingentConsideration" xlink:label="loc_CODXStockIssuedDuringPeriodSharesContingentConsideration" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_CODXStockIssuedDuringPeriodSharesContingentConsideration" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_PaymentsToShareHoldersValueAcquisitions" xlink:label="loc_CODXPaymentsToShareHoldersValueAcquisitions" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_CODXPaymentsToShareHoldersValueAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsRemainingAmortizationPeriod1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails" xlink:title="00000037 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaapFairValueByMeasurementFrequencyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByMeasurementFrequencyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaapFairValueMeasurementFrequencyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByMeasurementFrequencyAxis" xlink:to="loc_us-gaapFairValueMeasurementFrequencyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaapFairValueMeasurementsRecurringMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementFrequencyDomain" xlink:to="loc_us-gaapFairValueMeasurementsRecurringMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueByFairValueHierarchyLevelAxAxis" xlink:label="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueByFairValueHierarchyLevelAxDomain" xlink:label="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxAxis" xlink:to="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member_2" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_CODXFairValueByFairValueHierarchyLevelAxDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketableSecurities" xlink:label="loc_us-gaapMarketableSecurities" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapMarketableSecurities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="loc_us-gaapAssetsFairValueDisclosure" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapAssetsFairValueDisclosure" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentConsiderationToCommonStock" xlink:label="loc_CODXFairValueOfContingentConsiderationToCommonStock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_FairValueOfContingentConsiderationToWarrants" xlink:label="loc_CODXFairValueOfContingentConsiderationToWarrants" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_CODXFairValueOfContingentConsiderationToWarrants" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapLiabilitiesFairValueDisclosure" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="loc_us-gaapLiabilitiesFairValueDisclosure" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails" xlink:title="00000038 - Disclosure - Schedule of Changes in Fair Value Measurement (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ContingentConsideredIssuedForBusinessAcquisitions" xlink:label="loc_CODXContingentConsideredIssuedForBusinessAcquisitions" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_CODXContingentConsideredIssuedForBusinessAcquisitions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent_2" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityNoncurrent_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails" xlink:title="00000039 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="loc_us-gaapMeasurementInputTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapMeasurementInputTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputSharePriceMember" xlink:label="loc_us-gaapMeasurementInputSharePriceMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputSharePriceMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputStrikePriceMember" xlink:label="loc_CODXMeasurementInputStrikePriceMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputStrikePriceMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputPriceVolatilityMember" xlink:label="loc_us-gaapMeasurementInputPriceVolatilityMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputPriceVolatilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="loc_us-gaapMeasurementInputRiskFreeInterestRateMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputRiskFreeInterestRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="loc_us-gaapMeasurementInputExpectedTermMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputCostOfCapitalMember" xlink:label="loc_CODXMeasurementInputCostOfCapitalMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputCostOfCapitalMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputDiscountRateMember" xlink:label="loc_us-gaapMeasurementInputDiscountRateMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputDiscountRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputEquityVolatilityMember" xlink:label="loc_CODXMeasurementInputEquityVolatilityMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputEquityVolatilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputAssetVolatilityMember" xlink:label="loc_CODXMeasurementInputAssetVolatilityMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputAssetVolatilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_MeasurementInputRevenueVolatilityMember" xlink:label="loc_CODXMeasurementInputRevenueVolatilityMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_CODXMeasurementInputRevenueVolatilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingTerm" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingTerm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:label="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityMeasurementInput" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapBusinessCombinationContingentConsiderationLiabilityMeasurementInput" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" xlink:label="loc_CODXBusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_CODXBusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails" xlink:title="00000040 - Disclosure - Schedule of Property and Equipment (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaapEquipmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdsAndLeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdsAndLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentUsefulLife" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails" xlink:title="00000041 - Disclosure - Schedule of Intangible Assets (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="loc_us-gaapInProcessResearchAndDevelopmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapInProcessResearchAndDevelopmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="loc_us-gaapNoncompeteAgreementsMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_us-gaapNoncompeteAgreementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="loc_srtRangeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IndefiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_CODXIndefiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetUsefulLife" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsLineItems" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails" xlink:title="00000042 - Disclosure - Schedule of Future Amortization Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails" xlink:title="00000043 - Disclosure - Schedule of Accrued Expenses (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedPayrollTaxesCurrent" xlink:label="loc_us-gaapAccruedPayrollTaxesCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedPayrollTaxesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedSalesCommissionCurrent" xlink:label="loc_us-gaapAccruedSalesCommissionCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedSalesCommissionCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="loc_us-gaapSalesAndExciseTaxPayableCurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapSalesAndExciseTaxPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaapOtherAccruedLiabilitiesCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapOtherAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails" xlink:title="00000044 - Disclosure - Summary of Revenue by Geographic Area (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaapDisaggregationOfRevenueTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapDisaggregationOfRevenueTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaapDisaggregationOfRevenueLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapDisaggregationOfRevenueLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_AmericasMember" xlink:label="loc_srtAmericasMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtAmericasMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_RestOfWorldMember" xlink:label="loc_CODXRestOfWorldMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_CODXRestOfWorldMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="loc_us-gaapGeographicConcentrationRiskMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_us-gaapGeographicConcentrationRiskMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisaggregationOfRevenueLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails" xlink:title="00000045 - Disclosure - Schedule of Deferred Revenue (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IncreaseDueToPrepaymentsFromCustomers" xlink:label="loc_CODXIncreaseDueToPrepaymentsFromCustomers" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_CODXIncreaseDueToPrepaymentsFromCustomers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_IncreaseDueToNoteReceivable" xlink:label="loc_CODXIncreaseDueToNoteReceivable" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_CODXIncreaseDueToNoteReceivable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" xlink:label="loc_CODXDecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_CODXDecreaseDueToRefundsToCustomersAndApplicationToOpenBalances" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability_2" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract" xlink:to="loc_us-gaapContractWithCustomerLiability_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/StockholdersEquityDetailsNarrative" xlink:title="00000046 - Disclosure - Stockholders&#8217; Equity (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_OptionsMember" xlink:label="loc_CODXOptionsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXOptionsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockThreeMember" xlink:label="loc_CODXCommonStockThreeMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXCommonStockThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockOneMember" xlink:label="loc_CODXCommonStockOneMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXCommonStockOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_CommonStockTwoMember" xlink:label="loc_CODXCommonStockTwoMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_CODXCommonStockTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_srtTitleOfIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ThirdPartiesMember" xlink:label="loc_CODXThirdPartiesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_CODXThirdPartiesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaapBusinessAcquisitionAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapBusinessAcquisitionAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaapBusinessAcquisitionAcquireeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAxis" xlink:to="loc_us-gaapBusinessAcquisitionAcquireeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:label="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBusinessAcquisitionAcquireeDomain" xlink:to="loc_CODXAdvancedConceptionsIncAndIdahoMolecularIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="loc_us-gaapAntidilutiveSecuritiesNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="loc_us-gaapAntidilutiveSecuritiesNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConvertiblePreferredStockMember" xlink:label="loc_us-gaapConvertiblePreferredStockMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAntidilutiveSecuritiesNameDomain" xlink:to="loc_us-gaapConvertiblePreferredStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossTable" xlink:to="loc_srtProductOrServiceAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_InvestmentRelationsServicesMember" xlink:label="loc_CODXInvestmentRelationsServicesMember" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_CODXInvestmentRelationsServicesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" xlink:label="loc_CODXStockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_CODXStockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesAcquisitions" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesAcquisitions" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesForfeited" xlink:label="loc_CODXStockIssuedDuringPeriodSharesForfeited" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_CODXStockIssuedDuringPeriodSharesForfeited" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapSaleOfStockPricePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_NetProceedsFromIssuanceOfCommonStock" xlink:label="loc_CODXNetProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_CODXNetProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="loc_us-gaapPaymentsOfStockIssuanceCosts" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapPaymentsOfStockIssuanceCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails" xlink:title="00000047 - Disclosure - Schedule of Basic and Diluted Earnings Per Share (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_WeightedAverageNumberOfBasicSharesOutstanding" xlink:label="loc_CODXWeightedAverageNumberOfBasicSharesOutstanding" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_CODXWeightedAverageNumberOfBasicSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_EarningsBasicPerShare" xlink:label="loc_CODXEarningsBasicPerShare" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_CODXEarningsBasicPerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/EarningsPerShareDetailsNarrative" xlink:title="00000048 - Disclosure - Earnings per Share (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOptionActivityDetails" xlink:title="00000049 - Disclosure - Schedule of Option Activity (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:label="loc_CODXStockIssuedDuringPeriodSharesStockOptionsExercised1" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXStockIssuedDuringPeriodSharesStockOptionsExercised1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails" xlink:title="00000050 - Disclosure - Schedule of Fair Value of Options Weighted Average Assumptions (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails" xlink:title="00000051 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Activity (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails" xlink:title="00000052 - Disclosure - Schedule of Warrant Activity (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_2" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_CODXSharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails" xlink:title="00000053 - Disclosure - Schedule of Fair Value of Warrants Assumptions (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:label="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeAxis" xlink:label="loc_us-gaapMeasurementInputTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable" xlink:to="loc_us-gaapMeasurementInputTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputTypeDomain" xlink:label="loc_us-gaapMeasurementInputTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeAxis" xlink:to="loc_us-gaapMeasurementInputTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputRiskFreeInterestRateMember" xlink:label="loc_us-gaapMeasurementInputRiskFreeInterestRateMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputRiskFreeInterestRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedTermMember" xlink:label="loc_us-gaapMeasurementInputExpectedTermMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputOptionVolatilityMember" xlink:label="loc_us-gaapMeasurementInputOptionVolatilityMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputOptionVolatilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MeasurementInputExpectedDividendRateMember" xlink:label="loc_us-gaapMeasurementInputExpectedDividendRateMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapMeasurementInputTypeDomain" xlink:to="loc_us-gaapMeasurementInputExpectedDividendRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingMeasurementInput" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingMeasurementInput" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantsAndRightsOutstandingTerm" xlink:label="loc_us-gaapWarrantsAndRightsOutstandingTerm" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems" xlink:to="loc_us-gaapWarrantsAndRightsOutstandingTerm" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails" xlink:title="00000054 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockCompensationPlanMember" xlink:label="loc_us-gaapStockCompensationPlanMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapStockCompensationPlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative" xlink:title="00000055 - Disclosure - Stock-Based Compensation (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_TwoThousandFifteenLongTermIncentivePlanMember" xlink:label="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_CODXTwoThousandFifteenLongTermIncentivePlanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_StockOptionsMember" xlink:label="loc_CODXStockOptionsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_CODXStockOptionsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="loc_us-gaapRestrictedStockUnitsRSUMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockUnitsRSUMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaapRestrictedStockMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapRestrictedStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_WarrantMember" xlink:label="loc_us-gaapWarrantMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapWarrantMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtTitleOfIndividualAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ThirdPartiesMember" xlink:label="loc_CODXThirdPartiesMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_CODXThirdPartiesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapCommonStockCapitalSharesReservedForFutureIssuance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:label="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ClassOfWarrantExercisable" xlink:label="loc_CODXClassOfWarrantExercisable" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_CODXClassOfWarrantExercisable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfWarrantOrRightOutstanding" xlink:label="loc_us-gaapClassOfWarrantOrRightOutstanding" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapClassOfWarrantOrRightOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails" xlink:title="00000056 - Disclosure - Schedule of Components Income Tax Provision (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalTaxExpenseBenefit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapCurrentFederalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapCurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapCurrentFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapDeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapDeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefitAbstract" xlink:to="loc_us-gaapDeferredFederalStateAndLocalTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails" xlink:title="00000057 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:label="loc_CODXEffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_CODXEffectiveIncomeTaxRateReconciliationChangeInValuationAllowance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherAdjustments" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails" xlink:title="00000058 - Disclosure - Schedule of Deferred Tax Assets (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="loc_us-gaapDeferredTaxAssetsGrossAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="loc_us-gaapDeferredTaxAssetsGross" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxAssetsGrossAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaapDeferredTaxLiabilitiesAbstract" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPrepaidExpenses" xlink:label="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesPrepaidExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="loc_us-gaapDeferredTaxLiabilitiesOther" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredTaxLiabilitiesOther" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilities" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredTaxLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="loc_us-gaapDeferredTaxAssetsOther" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet_2" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsNet_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails" xlink:title="00000059 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaapUnrecognizedTaxBenefits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefits" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaapUnrecognizedTaxBenefits_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefits_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/IncomeTaxesDetailsNarrative" xlink:title="00000060 - Disclosure - Income Taxes (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="loc_us-gaapOperatingLossCarryforwards" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapOperatingLossCarryforwards" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:label="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapDeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="loc_us-gaapUnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract" xlink:to="loc_us-gaapUnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="00000061 - Disclosure - Related Party Transactions (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:label="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract" xlink:to="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:label="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_ExclusiveLicenseAgreementMember" xlink:label="loc_CODXExclusiveLicenseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_CODXExclusiveLicenseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable" xlink:to="loc_srtTitleOfIndividualAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="codx-20211231.xsd#CODX_DrBrentSatterfieldMember" xlink:label="loc_CODXDrBrentSatterfieldMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_CODXDrBrentSatterfieldMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedRoyaltiesCurrent" xlink:label="loc_us-gaapAccruedRoyaltiesCurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapAccruedRoyaltiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRoyalties" xlink:label="loc_us-gaapPaymentsForRoyalties" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapPaymentsForRoyalties" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DueToRelatedPartiesCurrentAndNoncurrent" xlink:label="loc_us-gaapDueToRelatedPartiesCurrentAndNoncurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems" xlink:to="loc_us-gaapDueToRelatedPartiesCurrentAndNoncurrent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" xlink:title="00000062 - Disclosure - Schedule of Future Minimum Lease Payments (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="00000063 - Disclosure - Commitments and Contingencies (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="loc_us-gaapLesseeOperatingLeaseTermOfContract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseTermOfContract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AreaOfLand" xlink:label="loc_us-gaapAreaOfLand" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapAreaOfLand" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRent" xlink:label="loc_us-gaapPaymentsForRent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapPaymentsForRent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseExpirationDate1" xlink:label="loc_us-gaapLeaseExpirationDate1" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLeaseExpirationDate1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseAndRentalExpense" xlink:label="loc_us-gaapLeaseAndRentalExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract" xlink:to="loc_us-gaapLeaseAndRentalExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://codiagnostics.com/role/SubsequentEventsDetailsNarrative" xlink:title="00000064 - Disclosure - Subsequent Events (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_srtRangeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255166088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Mar. 23, 2022</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-38148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CO-DIAGNOSTICS,
INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001692415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">46-2609396<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">2401
S. Foothill Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Salt Lake City<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">84109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">(801)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">438-1036<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CODX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityExTransitionPeriod', window );">Elected Not To Use the Extended Transition Period</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 229,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,965,318<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Haynie
& Company<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Salt
Lake City, Utah<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityExTransitionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 7A<br> -Section B<br> -Subsection 2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityExTransitionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255381336">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 88,607,234<span></span>
</td>
<td class="nump">$ 42,976,713<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesCurrent', window );">Marketable investment securities</a></td>
<td class="nump">1,255,266<span></span>
</td>
<td class="nump">4,335,446<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">20,839,182<span></span>
</td>
<td class="nump">12,136,833<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">2,004,169<span></span>
</td>
<td class="nump">7,995,189<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">2,338,444<span></span>
</td>
<td class="nump">369,028<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesAndLoansReceivableNetCurrent', window );">Note receivable</a></td>
<td class="nump">75,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">115,119,295<span></span>
</td>
<td class="nump">67,813,209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">1,933,216<span></span>
</td>
<td class="nump">949,639<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">14,706,818<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">27,195,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RealEstateInvestmentsJointVentures', window );">Investment in joint venture</a></td>
<td class="nump">1,004,953<span></span>
</td>
<td class="nump">1,927,125<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">547,224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetNoncurrent', window );">Note receivable</a></td>
<td class="nump">75,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">160,034,282<span></span>
</td>
<td class="nump">71,237,197<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">607,506<span></span>
</td>
<td class="nump">598,318<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses, current</a></td>
<td class="nump">3,859,652<span></span>
</td>
<td class="nump">2,849,503<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Accrued expenses (related party), current</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">120,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent', window );">Contingent consideration liabilities, current</a></td>
<td class="nump">5,767,304<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">2,213,088<span></span>
</td>
<td class="nump">189,729<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">150,000<span></span>
</td>
<td class="nump">305,307<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">12,597,550<span></span>
</td>
<td class="nump">4,062,857<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Long-term liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_TaxesPayableNoncurrent', window );">Income taxes payable</a></td>
<td class="nump">1,067,853<span></span>
</td>
<td class="nump">447,831<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liability</a></td>
<td class="nump">7,228,444<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent', window );">Contingent consideration liabilities</a></td>
<td class="nump">4,665,337<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesNoncurrent', window );">Accrued expenses (related party), noncurrent</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">30,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total long-term liabilities</a></td>
<td class="nump">12,961,634<span></span>
</td>
<td class="nump">477,831<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">25,559,184<span></span>
</td>
<td class="nump">4,540,688<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 14)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2021 and December 31, 2020</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.001 par value; 100,000,000 shares authorized; 33,819,862 and 28,558,033 shares issued and outstanding as of December 31, 2021 and December 31, 2020, respectively</a></td>
<td class="nump">33,820<span></span>
</td>
<td class="nump">28,558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">80,271,999<span></span>
</td>
<td class="nump">49,157,236<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated earnings</a></td>
<td class="nump">54,169,279<span></span>
</td>
<td class="nump">17,510,715<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">134,475,098<span></span>
</td>
<td class="nump">66,696,509<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 160,034,282<span></span>
</td>
<td class="nump">$ 71,237,197<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_TaxesPayableNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Taxes payable non current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_TaxesPayableNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized from contingent consideration in asset acquisition, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 15<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6911878&amp;loc=d3e8732-128492<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized from contingent consideration in asset acquisition, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 50<br> -Section 15<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6911878&amp;loc=d3e8732-128492<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6801-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=121557415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Portion of the carrying amount as of the balance sheet date of obligations due all related parties that is payable after one year or beyond the normal operating cycle if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.23)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124433192&amp;loc=SL2890621-112765<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 15: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123419778&amp;loc=d3e5710-111685<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116870748&amp;loc=SL6758485-165988<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of financing receivable, classified as current. Includes, but is not limited to, notes and loan receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6387103&amp;loc=d3e6435-108320<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RealEstateInvestmentsJointVentures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The book value of investments in real estate joint ventures including direct and indirect investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.1(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RealEstateInvestmentsJointVentures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121322162&amp;loc=SL121327923-165333<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 40<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=124501264&amp;loc=SL117420844-207641<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255353736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Convertible preferred stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Convertible preferred stock , shares authorized</a></td>
<td class="nump">5,000,000<span></span>
</td>
<td class="nump">5,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Convertible preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Convertible preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">100,000,000<span></span>
</td>
<td class="nump">100,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">33,819,862<span></span>
</td>
<td class="nump">28,558,033<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">33,819,862<span></span>
</td>
<td class="nump">28,558,033<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255216296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 97,885,603<span></span>
</td>
<td class="nump">$ 74,552,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="nump">11,574,944<span></span>
</td>
<td class="nump">16,591,346<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">86,310,659<span></span>
</td>
<td class="nump">57,961,412<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">13,397,813<span></span>
</td>
<td class="nump">4,665,113<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">11,550,615<span></span>
</td>
<td class="nump">8,278,734<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">14,961,916<span></span>
</td>
<td class="nump">3,185,290<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">335,363<span></span>
</td>
<td class="nump">138,635<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">40,245,707<span></span>
</td>
<td class="nump">16,267,772<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">46,064,952<span></span>
</td>
<td class="nump">41,693,640<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (expense)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">45,631<span></span>
</td>
<td class="nump">97,215<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Loss on disposition of assets</a></td>
<td class="num">(44,355)<span></span>
</td>
<td class="num">(175)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain (loss) on equity method investment in joint venture</a></td>
<td class="num">(430,433)<span></span>
</td>
<td class="nump">778,385<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Total other income (expense)</a></td>
<td class="num">(429,157)<span></span>
</td>
<td class="nump">875,425<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">45,635,795<span></span>
</td>
<td class="nump">42,569,065<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax provision</a></td>
<td class="nump">8,977,231<span></span>
</td>
<td class="nump">90,536<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 36,658,564<span></span>
</td>
<td class="nump">$ 42,478,529<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Earnings per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="nump">$ 1.27<span></span>
</td>
<td class="nump">$ 1.59<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="nump">$ 1.23<span></span>
</td>
<td class="nump">$ 1.52<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Weighted average shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">28,874,555<span></span>
</td>
<td class="nump">26,720,133<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">29,903,686<span></span>
</td>
<td class="nump">28,000,341<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 18: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123384075&amp;loc=d3e41242-110953<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 235<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399901&amp;loc=d3e537907-122884<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of interest income earned from interest bearing assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674253941592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statement of Changes in Stockholders' Equity - USD ($)<br></strong></div></th>
<th class="th">
<div>Convertible Preferred Stock [Member] </div>
<div>Preferred Stock [Member]</div>
</th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance, value at Dec. 31, 2019</a></td>
<td class="nump">$ 26<span></span>
</td>
<td class="nump">$ 17,343<span></span>
</td>
<td class="nump">$ 26,687,701<span></span>
</td>
<td class="num">$ (24,967,814)<span></span>
</td>
<td class="nump">$ 1,737,256<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, shares at Dec. 31, 2019</a></td>
<td class="nump">25,600<span></span>
</td>
<td class="nump">17,342,922<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Public offering, net of offering costs of $1,457,922</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 7,243<span></span>
</td>
<td class="nump">18,004,840<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">18,012,083<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Public offering, net of offering costs, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,242,954<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueOther', window );">Common stock issued for warrant exercises</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 857<span></span>
</td>
<td class="nump">269,143<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">270,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesOther', window );">Common stock issued for warrant exercises, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">856,660<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued for option exercises</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 871<span></span>
</td>
<td class="nump">1,459,729<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">1,460,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued for option exercises, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">871,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">2,737,930<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">2,738,041<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Stock-based compensation expense, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">110,935<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities', window );">Conversion of preferred stock to common</a></td>
<td class="num">$ (26)<span></span>
</td>
<td class="nump">$ 2,133<span></span>
</td>
<td class="num">(2,107)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities', window );">Conversion of preferred stock to common, shares</a></td>
<td class="num">(25,600)<span></span>
</td>
<td class="nump">2,133,333<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Common stock issued for acquisitions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">42,478,529<span></span>
</td>
<td class="nump">42,478,529<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Dec. 31, 2020</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 28,558<span></span>
</td>
<td class="nump">49,157,236<span></span>
</td>
<td class="nump">17,510,715<span></span>
</td>
<td class="nump">66,696,509<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Dec. 31, 2020</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">28,558,033<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued for option exercises</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 189<span></span>
</td>
<td class="nump">450,209<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">450,398<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued for option exercises, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">189,225<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross', window );">Stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 444<span></span>
</td>
<td class="nump">5,508,960<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">5,509,404<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross', window );">Stock-based compensation expense, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">444,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Common stock issued for acquisitions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 4,629<span></span>
</td>
<td class="nump">25,155,594<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">25,160,223<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Common stock issued for acquisitions, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,628,554<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">36,658,564<span></span>
</td>
<td class="nump">36,658,564<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance, value at Dec. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 33,820<span></span>
</td>
<td class="nump">$ 80,271,999<span></span>
</td>
<td class="nump">$ 54,169,279<span></span>
</td>
<td class="nump">$ 134,475,098<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Dec. 31, 2021</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">33,819,862<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-30)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21475-112644<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued attributable to transactions classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The gross value of stock issued during the period upon the conversion of convertible securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of shares of stock issued attributable to transactions classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=122038336&amp;loc=d3e74512-122707<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256794536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statement of Changes in Stockholders' Equity (Parenthetical)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockLineItems', window );"><strong>Subsidiary, Sale of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Public offering costs</a></td>
<td class="nump">$ 1,457,921<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember', window );">IPO [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockLineItems', window );"><strong>Subsidiary, Sale of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Public offering costs</a></td>
<td class="nump">$ 1,457,922<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_IPOMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255435128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of cash Flows - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 36,658,564<span></span>
</td>
<td class="nump">$ 42,478,529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">335,363<span></span>
</td>
<td class="nump">138,635<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">5,509,404<span></span>
</td>
<td class="nump">2,738,041<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Loss (gain) from equity method investment</a></td>
<td class="nump">430,433<span></span>
</td>
<td class="num">(778,385)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets1', window );">Loss on disposition of assets</a></td>
<td class="nump">44,355<span></span>
</td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="nump">930,081<span></span>
</td>
<td class="num">(547,224)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Bad debt expense</a></td>
<td class="nump">69,672<span></span>
</td>
<td class="nump">954,804<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(8,740,851)<span></span>
</td>
<td class="num">(12,960,255)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Prepaid expenses</a></td>
<td class="num">(2,049,095)<span></span>
</td>
<td class="num">(6,462)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventory</a></td>
<td class="nump">5,705,361<span></span>
</td>
<td class="num">(7,915,241)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="num">(155,307)<span></span>
</td>
<td class="nump">303,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income taxes payable</a></td>
<td class="nump">2,643,381<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable and accrued expenses</a></td>
<td class="num">(299,937)<span></span>
</td>
<td class="nump">3,758,634<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">41,081,424<span></span>
</td>
<td class="nump">28,165,235<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(669,463)<span></span>
</td>
<td class="num">(774,397)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireMarketableSecurities', window );">Purchases of marketable investment securities</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(9,310,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities', window );">Proceeds from maturities of marketable investment securities</a></td>
<td class="nump">3,080,180<span></span>
</td>
<td class="nump">4,974,554<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_PaymentsToAcquireInterestInJointVentures', window );">Investment in joint venture</a></td>
<td class="nump">491,739<span></span>
</td>
<td class="num">(714,500)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Business combinations, net of cash acquired</a></td>
<td class="nump">1,196,243<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">4,098,699<span></span>
</td>
<td class="num">(5,824,343)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from sale of common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">19,470,005<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ProceedsFromExerciseOfOptionsAndWarrants', window );">Proceeds from exercise of options and warrants</a></td>
<td class="nump">450,398<span></span>
</td>
<td class="nump">1,730,599<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Payment of offering costs</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(1,457,921)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">450,398<span></span>
</td>
<td class="nump">19,742,683<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash and cash equivalents</a></td>
<td class="nump">45,630,521<span></span>
</td>
<td class="nump">42,083,575<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">42,976,713<span></span>
</td>
<td class="nump">893,138<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">88,607,234<span></span>
</td>
<td class="nump">42,976,713<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">5,403,769<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing transactions</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment', window );">Inventory moved to property, plant and equipment</a></td>
<td class="nump">285,659<span></span>
</td>
<td class="nump">117,220<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Fair value of common stock issued as consideration for business acquisitions</a></td>
<td class="nump">25,160,223<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions', window );">Fair value of contingent common stock and warrants issued as consideration for business acquisitions</a></td>
<td class="nump">$ 10,432,641<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent common stock and warrants issued as consideration for business acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Non cash or part non cash inventory moved to property plant and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_PaymentsToAcquireInterestInJointVentures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments to acquire interest in joint ventures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_PaymentsToAcquireInterestInJointVentures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ProceedsFromExerciseOfOptionsAndWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Proceeds from exercise of options and warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ProceedsFromExerciseOfOptionsAndWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=SL98516268-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123444420&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnDispositionOfAssets1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnDispositionOfAssets1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 310<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123371682&amp;loc=d3e55415-109406<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for purchase of marketable security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=124260329&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities  (held-to-maturity or available-for-sale) during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256623752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Overview and Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Overview and Basis of Presentation</a></td>
<td class="text"><p id="xdx_803_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zViDTTJzsjn1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
1 &#8211; <span id="xdx_826_zVZX3WS0IVqh">Overview and Basis of Presentation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description
of Business</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Co-Diagnostics,
Inc., a Utah corporation (the &#8220;Company&#8221; or &#8220;CODX&#8221;), is developing robust and innovative molecular tools
for detection of infectious diseases, liquid biopsy for cancer screening, and agricultural applications. The Company develops, manufactures
and sells reagents used for diagnostic tests that function via the detection and/or analysis of nucleic acid molecules (DNA or RNA).
In connection with the sale of these tests, the Company may sell diagnostic equipment and supplies from other manufacturers.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Use
of Estimates</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates
and assumptions that affect the amounts reported in the financial statements and the accompanying notes. Such estimates include receivables
and other long-lived assets, legal and regulatory contingencies, income taxes, share based arrangements, and others. These estimates
and assumptions are based on management&#8217;s best estimates and judgments. Actual amounts and results could differ from those estimates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Basis
of Presentation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accompanying audited consolidated financial statements of Co-Diagnostics, Inc. and its wholly owned subsidiaries have been prepared to
reflect the financial position, results of operations and cash flows of the Company and have been prepared in accordance with accounting
principles generally accepted in the United States of America (&#8220;GAAP&#8221;). All intercompany balances and transactions have been
eliminated.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts.  Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity.  Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI http://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256458696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p id="xdx_806_eus-gaap--SignificantAccountingPoliciesTextBlock_zZvbhRl4Iz1e" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
2 &#8211; <span id="xdx_821_zU6BuBbOGXhg">Summary of Significant Accounting Policies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span>&#160;</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span/></b></span></p>

<p id="xdx_84B_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zi8aFsvzRVve" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_868_zAoIg8kWVcdk">Reclassifications</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform with the current year&#8217;s presentation. These reclassifications have no impact
on the previously reported results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_849_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zAEuygpiqKti" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_ziYlQl5jWyil">Cash
and Cash Equivalents</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2021 and December
31, 2020. <span style="background-color: white">The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--MarketableSecuritiesPolicy_zEkaO0DuWUV1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_z8zyii7eq2Dg">Marketable
Investment Securities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s marketable investment securities are comprised of investments in certificates of deposit. The Company determines the
appropriate classification of its marketable investment securities at the time of purchase and reevaluates such designation at each balance
sheet date. The Company has classified and accounted for its marketable investment securities as available-for-sale securities as the
Company may sell these securities at any time for use in its current operations or for other purposes, even prior to maturity. <span style="background-color: white">As
a result, the Company classifies its marketable investment securities, including securities with stated maturities beyond twelve months,
within current assets in the consolidated balance sheets. Any unrealized gains or losses are immaterial.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84E_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zL1H9FQgXxu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86F_zS9Rdy5AqzQ4">Accounts
Receivable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2021 total accounts receivable was $<span id="xdx_901_eus-gaap--AccountsReceivableGrossCurrent_iI_c20211231_zOAQgcFKeBYb" title="Accounts receivable">21,508,779</span> with an allowance for uncollectable
accounts of $<span id="xdx_900_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20211231_zImDyFlHgufj" title="Doubtful accounts">669,597</span> resulting in a net amount of $<span id="xdx_908_eus-gaap--AccountsReceivableNetCurrent_iI_c20211231_z7PGGylXtnzf" title="Accounts receivable, net">20,839,182</span>. At December 31, 2020 total accounts receivable was $<span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20201231_z4a7LOTJeLE7" title="Accounts receivable">12,928,633</span> with an
allowance for uncollectable accounts of $<span id="xdx_905_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20201231_zCx8z6rWx1a7" title="Doubtful accounts">791,800</span> resulting in a net amount of $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20201231_zXZfHRrSF902" title="Accounts receivable, net">12,136,833</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p id="xdx_84D_eus-gaap--EquityMethodInvestmentsPolicy_ztbBNvBVoR8j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zFn8BCB5naEa">Equity-Method
Investments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84F_eus-gaap--InventoryPolicyTextBlock_zJSxdKriX1Ci" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zWipfv52qduc">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2021, the Company had $<span id="xdx_903_eus-gaap--InventoryNet_iI_c20211231_zV3jP1EBL2Mb" title="Inventory">2,004,169</span> in inventory, of which $<span id="xdx_90F_eus-gaap--InventoryFinishedGoods_iI_c20211231_zNGFDafzIySh" title="Inventory finished goods">983,088</span> was
finished goods and $<span id="xdx_905_eus-gaap--InventoryRawMaterials_iI_c20211231_zRZL4rZ6qlq8" title="Inventory raw materials">1,021,081</span> was raw materials. At December 31, 2020, the Company had $<span id="xdx_902_eus-gaap--InventoryNet_iI_pp0p0_c20201231_zkIsHkOENCVj" title="Inventory">7,995,189</span> in inventory, of which $<span id="xdx_904_eus-gaap--InventoryFinishedGoods_iI_c20201231_zhhvjQt001Tl" title="Inventory finished goods">598,881</span> was
finished goods and $<span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20201231_zQytWTMDTJh1" title="Inventory raw materials">7,396,308</span> was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zyNrfAjMIfzd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_860_zYPmYxw5nTv">Property
and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is provided using the straight-line method
over the estimated useful lives of the property, generally from <span id="xdx_909_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtYxL_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_za0xhBcz5AD5" title="Estimated useful life of property::XDX::P3Y"><span style="-sec-ix-hidden: xdx2ixbrl0552">three</span></span> to <span id="xdx_907_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dc_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zUqkJ543Nmrc" title="Estimated useful life of property">five years</span>. Repairs and maintenance costs are expensed as incurred
except when such repairs significantly add to the useful life or productive capacity of the asset, in which case the repairs are capitalized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company reviews its long-lived assets, including property and equipment, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_846_eus-gaap--BusinessCombinationsPolicy_zTCL6gqF6Rp" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86C_zcbUrRrw8YHd">Business
Combinations</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
estimate the fair value of assets acquired and liabilities assumed in a business combination. Goodwill as of the acquisition date is
measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities
assumed. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets.
Management&#8217;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and
unpredictable, and as a result, actual results may differ from estimates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84F_eus-gaap--RevenueRecognitionPolicyTextBlock_z3JAUr1XuWyc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_864_zganBGX8MqZ">Revenue
Recognition</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84C_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zsoZvNpjt0Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86F_z0uMxqmiKJ93">Deferred
Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p id="xdx_845_eus-gaap--ResearchAndDevelopmentExpensePolicy_ztREKtIsiORl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_z8fievGR2Eid">Research
and Development</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research
and development costs are expensed when incurred. The Company expensed $<span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20210101__20211231_zD31grYExex" title="Research and development costs">14,961,916</span> and $<span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20200101__20201231_zgepmEXfZlw2" title="Research and development costs">3,185,290</span> of research and development costs for
the years ended December 31, 2021 and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zp8VINkOnaL4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_zfB04oP1hJfg">Stock-based
Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#8220;RSUs&#8221;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. <span style="background-color: white">When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zTeCsQ39ZPFe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zP3LKUDC7qK8">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. While the Company believes it has no significant uncertain income
tax positions in the consolidated financial statements, adverse determinations by these taxing authorities could have a material adverse
effect on the consolidated financial positions, result of operations, or cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_84C_eus-gaap--EarningsPerSharePolicyTextBlock_zayB3iewlqZh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_zJfGUtsg9uCh">Net
Income per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_zYmv9p6Ni7H6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zqsZadBcpIh">Concentrations
Risk and Significant Customers</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which are each responsible for generating 10% or more of the total revenue for the years ended December
31, 2021 and 2020. Two customers together accounted for approximately <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_zXaRhfoyQkEg" title="Concentration risk percentage">48</span>% and <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_z1BK5OEfUokd" title="Concentration risk percentage">38</span>% of total revenue for the years ended December 31, 2021
and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Two
customers each accounted for more than 10% of accounts receivable at December 31, 2021 and 2020. These two customers together accounted
for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z1A6UaIYLXXj" title="Concentration risk percentage">66</span>% and <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zJm7LCpDZZgi" title="Concentration risk percentage">48</span>% of accounts receivable at December 31, 2021 and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zqf5gUrlXHAe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zmlRakIHjUGl">Recently
Issued Accounting Standards</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#8217;s financial statements upon adoption.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
an emerging growth company (&#8220;EGC&#8221;), the Company has elected to take advantage of the benefits of the extended transition
period provided for in Section 7(a)(2)(B) of the Securities Act of 1933, as amended, for complying with new or revised accounting standards
which allows the Company to defer adoption of certain accounting standards until those standards would otherwise apply to private companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
February 2016, the FASB issued ASU No. 2016-02, Leases (Topic 842), which requires recognition of leased assets and liabilities on the
balance sheet and disclosing key information about leasing arrangements. This update is effective for annual periods and interim periods
with those periods beginning after December 15, 2021, for public EGC companies like us. The Company will use the modified retrospective
transition method with the option to recognize a cumulative-effect adjustment at the date of adoption. The Company&#8217;s balance
sheet will be impacted as it records right-of-use assets and lease liabilities on its consolidated balance sheets, but the Company
does not expect the adoption of this standard will have a material impact on its consolidated statements of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326) (&#8220;ASU 2016-13&#8221;), which requires
the measurement and recognition of expected credit losses for certain financial instruments, which includes the Company&#8217;s accounts
receivable. ASU 2016-13 replaces the existing incurred loss impairment model with an expected loss methodology, which will result in
more timely recognition of credit losses. The update is effective for annual periods and interim periods with those periods beginning
after December 15, 2021, for public EGC companies. The standard requires a cumulative effect adjustment to the balance sheet as of the
beginning of the first early reporting period in which the guidance is effective. The Company is evaluating the impact of the adoption
of ASU 2016-13 on its consolidated financial statements but does not expect the adoption of this standard will have a material impact
on its consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18726-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256519112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Business Combinations</a></td>
<td class="text"><p id="xdx_801_eus-gaap--BusinessCombinationDisclosureTextBlock_zg4dAP4st03c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
3 &#8211; <span id="xdx_828_zSijg2TlSQJj">Business Combinations</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On
December 31, 2021, the Company completed its acquisition of Advanced Conceptions, Inc. (&#8220;ACI&#8221;) and Idaho Molecular Inc. (&#8220;IdMo&#8221;),
which were related entities developing, with the Company, an at-home/point-of-care medical diagnostic device. Upon the completion of
the acquisition, all outstanding ACI and Idaho Molecular common stock was exchanged for approximately <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pn5n6_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zyJnNDdWy6gj" title="Number of shares exchanged">3.2
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million shares of the Company&#8217;s common
stock and contingent consideration that includes up to approximately <span id="xdx_905_ecustom--StockIssuedDuringPeriodSharesContingentConsideration_pn5n6_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zEwYAOgdY56h" title="Number of shares on contingent consideration">1.4
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million shares and approximately <span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zIGTs6YST2wi" title="Warrants to purchase shares of common stock">456,000
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">warrants to purchase shares of the Company&#8217;s
common stock. The contingent consideration is based on the achievement of certain milestones, which include regulatory approval for identified
products, as well as production and net revenue targets. The purchase consideration also includes a payable to a shareholder of ACI of
$<span id="xdx_90A_ecustom--PaymentsToShareHoldersValueAcquisitions_pp0p0_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncMember_zl1KWMGqaIrb" title="Payable to shareholders">100,000</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.
In connection with the acquisition, the Company incurred transaction costs of approximately $<span id="xdx_902_eus-gaap--GeneralAndAdministrativeExpense_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zKMIc0OgmdF1" title="General and administrative expense">151,000</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">,
which is included in general and administrative expenses. Upon the completion of the acquisition, both ACI and IdMo became <span id="xdx_907_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_dp_uPure_c20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zmv1xruS6QLc" style="font: 10pt Times New Roman, Times, Serif" title="Equity method investment ownership percentage">100</span>%
wholly-owned subsidiaries of the Company</span>.</p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zMyaT089AjJl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of assets acquired and liabilities assumed was based on a preliminary valuation, and our estimates and assumptions are subject
to change within the measurement period. The primary area that remains preliminary relates to the evaluation of certain tax-related items
and potential minor adjustments to the purchase consideration. The total purchase consideration was allocated to the assets acquired
and liabilities assumed as set forth below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zeoPe8gqz1z8" style="display: none">Schedule
of Assets and Liabilities assumed</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%">Fair value of common shares issued</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_c20210101__20211231_zSIcX0lehjo7" style="width: 16%; text-align: right" title="Stock issued during period, value acquisitions">25,160,223</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Payable to shareholder</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--PaymentsToShareHoldersValueAcquisitions_c20210101__20211231_zi5fQ801MlCl" style="text-align: right" title="Payable to shareholders">100,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Fair value of contingent shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ContingentConsiderationClassifiedAsEquityFairValueDisclosure_iI_c20211231_zbGT0x0sHfO6" style="text-align: right" title="Fair value of contingent shares">8,684,669</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Fair value of contingent warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--WarrantsNotSettleableInCashFairValueDisclosure_iI_c20211231_zg5LBND20pgi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair value of contingent warrants">1,747,972</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Total fair value of consideration transferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--BusinessCombinationConsiderationTransferred1_c20210101__20211231_zqy6Oz1sPUT8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Business combination, consideration transferred">35,692,864</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Identifiable assets acquired and liabilities assumed</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_c20211231_zGNojNKtPf72" style="text-align: right" title="Cash">1,196,243</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_c20211231_ze2sYQxhW1ke" style="text-align: right" title="Accounts receivables">31,170</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses and other current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_c20211231_zGXKFTbAYHW7" style="text-align: right" title="Prepaid expenses and other current assets">70,321</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_c20211231_zi1OLYEu7oh7" style="text-align: right" title="Property and equipments">408,173</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Technology - In-process research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_iI_c20211231_zTnyCjuBKxf2" style="text-align: right" title="Research and development in process">26,101,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Non-competition agreements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_iI_c20211231_zGl0giuVRrzj" style="text-align: right" title="Non competition agreements">1,094,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts payable and accrued other expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_iNI_di_c20211231_zqxRfssFTrC5" style="text-align: right" title="Accounts payable and accrued other expenses">(1,069,274</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Deferred tax liability</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNI_di_c20211231_z6VgxFRsjupb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Deferred tax liability">(6,845,587</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total identifiable net assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iI_c20211231_zJ4NWXt1iuhe" style="text-align: right" title="Total indentifiable net assets">20,986,046</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Goodwill</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--Goodwill_iI_c20211231_zeRGg1Z3UsIb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill">14,706,818</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_c20211231_zmsfl4YhDPm4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">35,692,864</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zOc46Aygogt7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
excess of the purchase price over the net assets acquired was recorded as goodwill. Goodwill generated from the acquisition is primarily
attributable to assembled workforce and expected growth from future technologies, sales to future customers and buyer specific synergies.
Goodwill will not be amortized but instead will be tested for impairment at least annually and more frequently if certain indicators
of impairment are present. As a result of the structure of the transaction, the balance of goodwill is not amortizable for tax purposes.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
in-process research and development is considered an indefinite-lived intangible until the completion or abandonment of the research
and development activities. The non-competition agreements are being amortized over a range of <span id="xdx_90A_eus-gaap--FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_dtY_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_zVtQOn4WrEk6" title="Finite lived intangible assets  remaining amortization period">1.5</span> to <span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_dtY_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zEYmOMI4xljc" title="Finite lived intangible assets  remaining amortization period">3</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
the acquisition was completed on December 31, 2021, the acquired entities did not contribute to the net revenues or to the net income
of the Company during the year ended December 31, 2021. Pro forma revenue and results of operations have not been presented because the
historical results of ACI and IdMo are not material to the Company&#8217;s consolidated financial statements in any period presented.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256562472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><p id="xdx_806_eus-gaap--FairValueDisclosuresTextBlock_z1iCfsL3Q5Rj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
4 &#8211; <span id="xdx_823_zkSlaXpyiyE6">Fair Value Measurements</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company measures and records certain financial assets and liabilities at fair value on a recurring basis. Fair value is based on the
price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants
at the measurement date.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following three levels of inputs are used to measure the fair value of financial assets and liabilities:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
1: Quoted market prices in active markets for identical assets or liabilities.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
2: Observable market-based inputs or unobservable inputs that are corroborated by market data.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
3: Unobservable inputs that are not corroborated by market data.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zg3518j0zJu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2021 and December
31, 2020, by level within the fair value hierarchy:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_zk6XPsLODpu4" style="display: none">Schedule
of Fair Value Assets and Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt">Marketable securities (certificates of deposit)</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zm7IeHnuO84l" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"><span style="-sec-ix-hidden: xdx2ixbrl0642">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zCqDuq7BltPl" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">1,255,266</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_z7wCOg6TwcJi" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"><span style="-sec-ix-hidden: xdx2ixbrl0646">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_z6Xoq3Z3h7je" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">1,255,266</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6HnSJMIP3mj" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0650">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zLfFapCIYSqc" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">1,255,266</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zynnaJbelf5d" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0654">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zxvCqoqI6Dy9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">1,255,266</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYk3TzBox34f" style="text-align: right" title="Contingent consideration common stock">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0658">&#160;</span>-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_zeZSA6wQIdpj" style="text-align: right" title="Contingent consideration common stock">&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0660">&#160;</span>-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_z4QZ151PvwFd" style="text-align: right" title="Contingent consideration common stock">8,684,669</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zdqcT2CDIQme" style="text-align: right" title="Contingent consideration common stock">8,684,669</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zlHrQECDYw94" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"><span style="-sec-ix-hidden: xdx2ixbrl0666">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_ztTWsXCnviIi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"><span style="-sec-ix-hidden: xdx2ixbrl0668">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zJcjuEjSz3Cb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants">1,747,972</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zzP0EQYdyFqe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants">1,747,972</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYRGy7WS1HRk" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0674">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_z3seBkcPLFj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0676">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zbuLevT9KIs1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value">10,432,641</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231_zyrzveZsO1g2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value">10,432,641</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Assets:</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt">Marketable securities (certificates of deposit)</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPH6PGBvZ6Df" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"><span style="-sec-ix-hidden: xdx2ixbrl0682">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_pp0p0_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z9waNpLhGPM2" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">4,335,446</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zUg4dE2FzKYh" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0686">&#160;</span>-</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zQdEXYyHuO3k" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">4,335,446</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zl7q8y6J9524" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0690">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQU0EDOER2Yb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">4,335,446</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zh2fpC3Hn111" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0694">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zOoP6mVLysw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">4,335,446</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_zG1dlgIKWdCa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s financial instruments that are measured at fair value on a recurring basis consist of certificates of deposit.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
connection with the acquisitions of Idaho Molecular, Inc and Advanced Conceptions, Inc. on December 31, 2021, the Company recorded a
liability for contingent consideration in the form of shares of common stock and warrants to purchase common stock. The fair value of
contingent consideration is calculated using a discounted probability weighted valuation model. Discount rates used in such calculation
are a significant assumption that are not observed in the market, and therefore, the resulting fair value represents a Level 3 measurement.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zGT36wByptkd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes for Level 3 items measured at fair value on a recurring basis are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 60pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_zVVMJuliFhc4" style="display: none">Schedule
of Changes in Fair Value Measurement</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Fair value as of December 31, 2020</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_c20210101__20211231_z49DilL36i9d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Asset acquisition contingent consideration liability noncurrent"><span style="-sec-ix-hidden: xdx2ixbrl0700">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 70%; text-align: left; padding-bottom: 1.5pt">Contingent considered issued for business acquisitions</td><td style="width: 10%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td id="xdx_98C_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_c20210101__20211231_z8ovD4Tn2RPb" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Contingent considered issued for business acquisitions">10,432,641</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Fair value as of December 31, 2021</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_c20210101__20211231_z5RrSc3eUMj1" style="border-bottom: Black 2.5pt double; text-align: right" title="Asset acquisition contingent consideration liability noncurrent">10,432,641</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_zEzlIbdnJhUl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the contingent consideration is based on the fair value of the contingent consideration-common stock and contingent consideration-warrants.
The fair value of the contingent consideration-common stock is equal to the probability-adjusted value of the Company&#8217;s common
stock as of December 31, 2021. The fair value of the contingent consideration-warrants is equal to the probability adjusted value of
a call option with terms consistent with the terms of the warrants as of December 31, 2021. Prior to the probability adjustments,
the warrants were valued based on the following inputs:</span></p>

<p id="xdx_892_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zpiccZIH1lX8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;<span id="xdx_8BF_zg3exvZ9JGB1" style="display: none">Schedule
of Contingent Consideration Common Stock and Warrants</span></b></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zpuruaDolIf3" style="width: 16%; text-align: right" title="Warrants measurement input">8.93</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Strike price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zK3cVOifFAp2" style="text-align: right" title="Warrants measurement input">9.13</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zDS5whyEkeba" style="text-align: right" title="Warrants measurement input">80.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zzLfu533sbb1" style="text-align: right" title="Warrants measurement input">1.30</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20211231_zYjxs60AwO13" style="text-align: right" title="Warrants measurement, term">5.0</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to calculate the probability-adjusted value of the contingent consideration-common stock and contingent consideration-warrants,
the Company estimated the probability of achieving certain milestones, which include regulatory approval for identified products, as
well as production and net revenue targets. The probability of achieving the milestone related to net revenues was estimated using a
Monte Carlo simulation valuation model. The unobservable significant inputs to the valuation model were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zqLXGv2Ta1o1" style="width: 16%; text-align: right" title="Business combination,contingent consideration">8.93</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zByYSoOk6oQg" style="text-align: right" title="Business combination,contingent consideration">1.30</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_dtY_c20210101__20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zhxoYlmhDPb6" style="text-align: right" title="Business combination,contingent consideration, term">5.0</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Weighted-average cost of capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputCostOfCapitalMember_zhImkEGhNGik" style="text-align: right" title="Business combination,contingent consideration">27.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Revenue discount rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputDiscountRateMember_zfdaih8MKiT" style="text-align: right" title="Business combination,contingent consideration">9.50</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Equity volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputEquityVolatilityMember_z3wiMDKAyeYl" style="text-align: right" title="Business combination,contingent consideration">80.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Asset volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputAssetVolatilityMember_zKh26MPjAQJf" style="text-align: right" title="Business combination,contingent consideration">80.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Revenue volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputRevenueVolatilityMember_zIA2hopBBqu5" style="text-align: right" title="Business combination,contingent consideration">30.00</td><td style="text-align: left">%</td></tr>
  </table>

<p id="xdx_8AB_zXl1kPOQIsf9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Fair
Value of Other Financial Instruments</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
carrying amounts of certain financial instruments, including cash held in banks, accounts receivable, notes receivable, accounts
payable, accrued liabilities, and other liabilities approximate fair value due to their short-term maturities and are excluded from the
fair value tables above.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256479064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zJjfcIilwCad" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
5 &#8211; <span id="xdx_829_zzQlfl7DAI3j">Property and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_897_eus-gaap--PropertyPlantAndEquipmentTextBlock_zzfakGPSbbZ7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B2_zy1zjPnolAQ5" style="display: none">Schedule
of Property and Equipment</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Estimated</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Useful Lives in</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"> years</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Lab equipment</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zNniGUOQicck" title="Property and equipment estimated useful lives">3</span> - <span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zJGJROUIiIW4" title="Property and equipment estimated useful lives">5</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zyxa7hrqCF5a" style="width: 14%; text-align: right" title="Property and equipment, gross">2,476,813</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUlt3xTtZVyc" style="width: 14%; text-align: right" title="Property and equipment, gross">1,212,561</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span id="xdx_901_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember_zNULZkEtwQrb" title="Property and equipment estimated useful lives">3</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zzhrcHbgJoW2" style="text-align: right" title="Property and equipment, gross">3,157</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zpFDJhQEo1L2" style="text-align: right" title="Property and equipment, gross">3,157</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment, furniture and other</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zncZHGcsMuUa" title="Property and equipment estimated useful lives">2</span> - <span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zRH8d9wLg5Ie" title="Property and equipment estimated useful lives">5</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z85W0rrp8qb2" style="text-align: right" title="Property and equipment, gross">75,401</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zHchHySF6Cle" style="text-align: right" title="Property and equipment, gross">38,344</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20211231_zBLmx7MmkOsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(622,155</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_c20201231_zpeyTiXyNv0j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(304,423</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Fixed assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20211231_zDONMh3Xgju6" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">1,933,216</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20201231_z37SNkZS9PWc" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">949,639</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256595608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_805_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zPFt9bNwaaqf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
6 - <span id="xdx_822_zOaAf6VKzWjd">Goodwill and Intangible Assets</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zeNyMQmly8Jg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zfSS8lkfInfh" style="display: none">Schedule
of Intangible Assets&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Estimated</p>
                                                                             <p style="margin-top: 0; margin-bottom: 0">Useful Lives in</p></td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"> years</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_900_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zZkP100aPyHj" title="Estimated useful lives in years, term">Indefinite</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zFFc1TBbJ6V2" style="width: 14%; text-align: right" title="In-process research and development">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zx0JyuIxVM0l" style="width: 14%; text-align: right" title="In-process research and development">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0776">&#160;</span>-</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-competition agreements</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MinimumMember_z0nE4Iciziyh" title="Estimated useful lives in years">1.5</span> - <span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MaximumMember_zVCzUdDeh1X6" title="Estimated useful lives in years">3</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z0ct4haYeGdh" style="text-align: right" title="Intangible assets, gross">1,094,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zSWyJSmq9b11" style="text-align: right" title="Intangible assets, gross">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0784">&#160;</span>-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20211231_zGxKLBIPuvC7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl0786">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20201231_z1WvsPw8pgU2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl0788">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Intangible assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;&#160;&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20211231_zMlPqCzdqqMc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">27,195,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20201231_zaIAespoONp6" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"><span style="-sec-ix-hidden: xdx2ixbrl0792">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8AA_zPTFb18WFdQi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89B_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zOKhJOm1KDea" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
expected future annual amortization expense of the Company&#8217;s intangible assets held as of December 31, 2021 is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zhPshHDKSjQ" style="display: none">Schedule
of Future Amortization Expense&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Year Ending December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_497_20211231_zfXPLwjYghHl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization Expense</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zkzwNNo6wvHc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 82%; text-align: justify">2022</td><td style="width: 1%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">426,660</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_maFLIANzZiM_zsNyTlL51H4l" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">2023</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">364,668</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_maFLIANzZiM_zEDuaMmD2ij3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">2024</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">302,672</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zYX5bQAZUU7f" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: justify">Total</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,094,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_zkTIvoBIJfKk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company had goodwill of $14.7 million as of December 31, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261147384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued Expenses</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zFtms4aNHs8h" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
7 - <span id="xdx_821_ziSvSWd3xiG3">Accrued Expenses</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zWQp8db5wvEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zDDUqS16gCb8" style="display: none">Schedule
of Accrued Expenses&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20211231_zl6ck8a2cjxj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20201231_zi31yqBf6Ou6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zx42ewj43lcc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Payroll liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,455,694</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,627,957</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zfJD04nhz7ph" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributor commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">509,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,070,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--SalesAndExciseTaxPayableCurrent_iI_maALCzYz0_zhE8UR6SOb8e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sales tax payable</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0814">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,526</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zVSFpBgVk595" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Other accrued liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">894,458</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">99,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AccruedLiabilitiesCurrent_iI_mtALCzYz0_zQjgyzUd6S43" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total accrued expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,859,652</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,849,503</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AE_zHqE8YTmaKZa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256543176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text"><p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zorGJIRAl7F8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
8 &#8211; <span id="xdx_82E_zQkTW0C0r8lc">Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_894_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zpip6n1ibdk7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth revenue by geographic area:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BD_z9EhQeIhXaL" style="display: none">Summary of Revenue by Geographic Area&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">United States</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember_zpwoleb2rDB5" style="width: 16%; text-align: right" title="Revenue">52,185,812</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember_zyrCmUYDzw1c" style="width: 16%; text-align: right" title="Revenue">44,862,751</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Rest of World</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zyZkp1E9pYjj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue">45,699,791</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zPti5VVvAdS" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue">29,690,007</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231_zuARGY6k0p5k" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">97,885,603</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231_zH7M22x6oZw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">74,552,758</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Percentage of revenue by area:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJazHFVJeNog" style="text-align: right" title="Percentage of revenue">53</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_z0skdzkf6pv1" style="text-align: right" title="Percentage of revenue">60</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zZcS9rKfGLzf" style="text-align: right" title="Percentage of revenue">47</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zRaUBOXchH1h" style="text-align: right" title="Percentage of revenue">40</td><td style="text-align: left">%</td></tr>
  </table>

<p id="xdx_8AE_z13JKgCFvti8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Deferred
Revenue</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zsvRzQTqXeyj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in the Company&#8217;s deferred revenue balance for the years ended December 31, 2021 and 2020 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8B8_zNakCKApdiZe" style="display: none">Schedule of Deferred Revenue</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance as of December 31, 2019</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--ContractWithCustomerLiability_iS_c20200101__20201231_zUENGvoZtdNa" style="width: 16%; text-align: right" title="Deferred revenue, beginning balance">1,323</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Revenue recognized included in deferred revenue balance at the beginning of the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20200101__20201231_zRVBGf26lXMg" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period">(1,323</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Increase due to prepayments from customers</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20200101__20201231_zqdmOB9VOj21" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from customers">305,307</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance as of December 31, 2020</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ContractWithCustomerLiability_iS_c20210101__20211231_zNvzN7EmUmq2" style="text-align: right" title="Deferred revenue, beginning balance">305,307</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Revenue recognized included in deferred revenue balance at the beginning of the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20210101__20211231_z5acRrjLtM6e" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period">(256,110</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Increase due to prepayments from customers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20210101__20211231_ztHqSI9pUlYf" style="text-align: right" title="Increase due to prepayments from customers">79,213</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Increase due to note receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--IncreaseDueToNoteReceivable_c20210101__20211231_zePfxnIws6wj" style="text-align: right" title="Increase due to note receivable">150,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Decrease due to refunds to customers and application to open balances</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_iN_di_c20210101__20211231_zhcNQNX5TXfa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Decrease due to refunds to customers and application to open balances">(128,410</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2021</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--ContractWithCustomerLiability_iE_c20210101__20211231_z9H33Mb2t3Sh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, Ending balance">150,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AD_zlvNd94oh9nj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company expects to perform its performance obligation and recognize the deferred revenue as revenue during the year ended December 31,
2022.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130556-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130550-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130558-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130554-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261155784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders&#8217; Equity</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z48NcTXgWjXj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
9 &#8211; <span id="xdx_828_ze2cvoPCZrp8">Stockholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Common
Stock </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zLqBdEy1tMql">189,225
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock upon the exercise of options
and received $<span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zcUwNNIx9Cqd">450,398
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">in proceeds from the exercises.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20210101__20211231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember_z1DKFm6dXw4i" title="Number of shares issued for services">5,548</span> shares of common stock for services provided by third parties primarily related
to investor relations services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_903_ecustom--StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_c20210101__20211231_zGxhjGbvD5Vj" title="Vest and restricted stock units">438,502</span> shares of common stock upon the vest and release of restricted stock units.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2021, the Company issued <span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zOSUkQtjXoUc">4,628,554
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock related to the acquisitions
of Idaho Molecular, Inc. and Advanced Conceptions, Inc., <span id="xdx_90D_ecustom--StockIssuedDuringPeriodSharesForfeited_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zLdSlms7NrFf">1,390,430
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of which are subject to forfeiture in favor
of the Company if certain milestones are not achieved on or before January 1, 2027.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company completed the sale of <span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zlSbnq7H0Kof" title="Number of common stock issued">3,448,278</span> shares of the Company&#8217;s common stock, par value $<span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zlZDEnJOMvEc" title="Common stock, par value">0.001</span>
per share, at a purchase price of $<span id="xdx_908_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zkLxeM85Aymb" title="Sale of common stock purchase price per shares">1.45</span> per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $<span id="xdx_903_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_z2wEgbbM3iyd" title="Issuance of common stock gross proceeds">5,000,003</span> and the Company received net proceeds of $<span id="xdx_909_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zACC5RFATpwj" title="Net proceeds from issuance of common stock">4,517,102</span> after deducting offering costs of $<span id="xdx_901_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zYzJODETjTc4" title="Offering costs">482,901</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company completed the sale of <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zpkpnaTlhdvf" title="Number of common stock issued">3,324,676</span> shares of the Company&#8217;s common stock, par value $<span id="xdx_90A_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zZgoJlDFdRba" title="Common stock, par value">0.001</span>
per share, at a purchase price of $<span id="xdx_907_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_z5XsTcrWurD2" title="Sale of common stock purchase price per shares">3.08</span> per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $<span id="xdx_908_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zgDrmqSDjG04" title="Issuance of common stock gross proceeds">10,240,002</span> and the Company received net proceeds of $<span id="xdx_90B_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zIbC0SuOLBS9" title="Net proceeds from issuance of common stock">9,612,561</span> after deducting offering costs of $<span id="xdx_90C_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zodV0FCCw68l" title="Offering costs">627,441</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company completed the sale of <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zkcHULtzhQY2" title="Number of common stock issued">470,000</span> shares of the Company&#8217;s common stock, par value $<span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zGB5ILDff8G2" title="Common stock, par value">0.001</span>
per share, at a purchase price of $<span id="xdx_900_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zUw8cHWquFme" title="Sale of common stock purchase price per shares">9.00</span> per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $<span id="xdx_90A_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zLrXHfEtQJw3" title="Issuance of common stock gross proceeds">4,230,000</span> and the Company received net proceeds of $<span id="xdx_90F_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zHxGU7Jd0vZb" title="Net proceeds from issuance of common stock">3,882,420</span> after deducting offering costs of $<span id="xdx_904_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zjk8UNZ7qztl" title="Offering costs">347,580</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued an aggregate of <span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20200101__20201231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--ConvertiblePreferredStockMember_zRkvveTDvmT4" title="Potentially dilutive shares"><span title="Potentially dilutive shares">2,133,333</span></span> shares of common stock upon conversion of all of the Company&#8217;s
convertible preferred stock outstanding as of December 31, 2019.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz5zH3mbLDil" title="Number of shares issued for exercise of options">856,660</span> shares of common stock upon the exercise of warrants and received $<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z2lgDEI3Zf85" title="Number of shares issued for exercise of options, value">270,000</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued <span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zX2gmtVSn0hf">871,229
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">shares of common stock upon the exercise of options
and received $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zl1ciwHuKjFl">1,460,600</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the year ended December 31, 2020, the Company issued <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20200101__20201231__srt--ProductOrServiceAxis__custom--InvestmentRelationsServicesMember_zytGZOucaNGa" title="Number of shares issued for services">83,935</span> shares of common stock for services provided by third parties primarily related
to investor relations services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496171-112644<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496189-112644<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496180-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=SL123496158-112644<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256569768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings per Share</a></td>
<td class="text"><p id="xdx_80B_eus-gaap--EarningsPerShareTextBlock_zPlO6JEBOXA1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
10 &#8211; <span id="xdx_822_zvurEZf7HrH2">Earnings per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_898_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zvjSVyVnsKN7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zuko8FVVHRHe" style="display: none">Schedule of Basic and Diluted Earnings Per Share&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20210101__20211231_zZGyLnlyehR1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20200101__20201231_z5rflwldMre6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Numerator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetIncomeLoss_zFxZyDWSm9Tj" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-bottom: 2.5pt">Net income, as reported</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right">36,658,564</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right">42,478,529</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--WeightedAverageNumberOfBasicSharesOutstanding_z9rDjysXCQjl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares, basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,874,555</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26,720,133</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_zeyOWIHhGcR" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Dilutive effect of stock options, warrants and RSUs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,029,131</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,280,208</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z1WOt8gJsnCg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Shares used to compute diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">29,903,686</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">28,000,341</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EarningsBasicPerShare_pid_zwjmKUucUBMk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.27</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.59</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zu3nZxnifDu1" style="vertical-align: bottom; background-color: White">
    <td>Diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.23</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.52</td><td style="text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A1_zqVbragJJJdf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the years ended December 31, 2021 and 2020, respectively, potentially dilutive securities of <span id="xdx_90A_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20211231_zdl5scLQdEdb" title="Securities excluded from computation of diluted earnings per share">154,644 </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">and <span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20200101__20201231_zxI5n202v1vh" title="Securities excluded from computation of diluted earnings per share">50,000 </span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">were
excluded from the computation of diluted earnings per share because the effect would have been anti-dilutive. The computation of
diluted earnings per share for the year ended December 31, 2021 also excludes the approximately <span id="xdx_907_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zwEZQeLBALWe" title="Securities excluded from computation of diluted earnings per share">1.4</span> million shares of common stock
and approximately <span id="xdx_90B_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1rWnBfHdjtl" title="Securities excluded from computation of diluted earnings per share">456,000</span> warrants to purchase shares of common stock mentioned in Note 3 that are contingent upon the achievement
of certain milestones.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109243012&amp;loc=SL65017193-207537<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256483112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text"><p id="xdx_804_eus-gaap--DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_zqgYsPW32A6d" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
11 &#8211; <span id="xdx_82B_zmXv6YJ17NRb">Stock-Based Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Incentive Plans</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Co-Diagnostics, Inc. 2015 Long Term Incentive Plan (the &#8220;Incentive Plan&#8221;) reserves an aggregate of <span id="xdx_90F_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20211231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zQYDjqMWpgvk" title="Aggregate number of common shares reserved">6,000,000</span> shares of common
stock issuable upon the grant of awards under the Incentive Plan. The number of awards available for issuance under the Incentive Plan
was <span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20211231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zVvIVWFIoF1l" title="Number of common shares availalble for issuance">2,095,266</span> at December 31, 2021.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Options</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89E_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMfb86rXn0r7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes option activity during the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BC_z03x74Z7fs93" style="display: none">Schedule of Option Activity&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;&#160;&#160;&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Options</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2019</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20200101__20201231_ztdVRq5N7rE8" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning">2,021,817</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20200101__20201231_zZWf6QXaooHk" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">1.69</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231_zf1NGllhgP23" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">0.83</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20200101__20201231_z59B0Xpb03oc" style="text-align: right" title="Number of Options Outstanding, Granted">150,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_znF4tsjzrcUh" style="text-align: right" title="Weighted Average Exercise Price Granted">8.14</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zWjTCvmZ7Mwk" style="text-align: right" title="Weighted Average Fair Value Granted">4.74</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20200101__20201231_zT3WstzYKuwf" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl0973">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zmP4Yj006WC3" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl0975">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20200101__20201231_z0JCWPwmbCAj" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl0977">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20200101__20201231_zsFbtyYEgiH2" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl0979">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_zLYxE78b8gDf" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl0981">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_zRwwh1Ig0Wc5" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl0983">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20200101__20201231_zHmP1kvljX9b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised">(871,229</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20200101__20201231_zWfbptXIaKW2" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised">1.68</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20200101__20201231_z4PGQSkTTkNc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised">0.89</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20211231_zWqhIAv9C4pk" style="text-align: right" title="Number of Options Outstanding, Beginning">1,300,588</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20210101__20211231_zJAhXB8AAiQ3" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">2.44</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231_zlFwd1sRp1V2" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">1.24</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20210101__20211231_zDDDwxugm0vd" style="text-align: right" title="Number of Options Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0997">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zjOw7uQYPt3h" style="text-align: right" title="Weighted Average Exercise Price Granted"><span style="-sec-ix-hidden: xdx2ixbrl0999">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_z5RLnB4mfnCi" style="text-align: right" title="Weighted Average Fair Value Granted"><span style="-sec-ix-hidden: xdx2ixbrl1001">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20211231_zwUUtk5ntwy9" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1003">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zOJoZ0jOMXB7" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl1005">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20210101__20211231_z53mqZjkAmVg" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl1007">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20210101__20211231_zegbUITxxHAi" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1009">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_za8NHKjNXDy" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1011">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zpW4uc6RxFL1" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1013">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20210101__20211231_z13yGKE6Lmmh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised">(189,225</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20210101__20211231_zXTl5utKRtvc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised">2.38</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20210101__20211231_zWUmpRzg3FPl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised">1.12</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20211231_zF3A17QbjeMb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending">1,111,363</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zseBZ53bLYsc" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending">2.12</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231_zbhLRzuALPce" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending">1.31</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_pid_dtY_c20210101__20211231_zugm00qLGxK1" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending">6.62</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercisable at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20211231_z3URBBN68syl" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending">1,094,697</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zmeQJBC1ofd4" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending">2.01</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20210101__20211231_zaXDswJXKuHl" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending">1.18</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20211231_zhvOZgXRUVD3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending">6.59</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A8_zE1OF3F2TfXj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
total intrinsic value of options exercised during the years ended December 31, 2021 and 2020 was approximately $<span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zxy1zRKyprVb">1.3
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million and $<span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20200101__20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z5PMaPorwI71">11.8
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million, respectively. The aggregate intrinsic
value of outstanding options at December 31, 2021 and 2020 was approximately $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z0tPjF3tE3Hl">7.6
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million and $<span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zCDasHp5jsf8">7.1
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">million, respectively.
As of December 31, 2021, there were <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iI_pid_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zrGZd6zl9eVb" title="Unvested options">16,666
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">unvested options and $<span id="xdx_902_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pip0_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z2sZOlVw1Usj" title="Unrecognized stock-based compensation">78,115
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">of unrecognized stock-based compensation
expense related to options. The unrecognized stock-based compensation expense is expected to be recognized over <span id="xdx_909_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zqfFLx4WXpgf" title="Unrecognized stock-based compensation recognition period">0.5
</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Stock-based
compensation cost is measured at the grant date based on the fair value of the award granted and recognized as expense over the vesting
period using the straight-line method. The Company uses the Black-Scholes model to value options granted. The following weighted average
assumptions were used in estimating the grant date fair value of options:</span></p>

<p id="xdx_89D_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zuQMSoTypzkk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8B5_zGZYUBOR4y57" style="display: none">Schedule of Fair Value of Options Weighted Average Assumptions</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Risk-free interest rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_uPure_c20210101__20211231_zXvOiKUIXLSg" title="Risk-free interest rate"><span style="-sec-ix-hidden: xdx2ixbrl1049">-</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20200101__20201231_zqFi97nu0QEk" title="Risk-free interest rate">1.05</span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected life (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_c20210101__20211231_z4MN2Gzt3Mq7" title="Expected life (years)"><span style="-sec-ix-hidden: xdx2ixbrl1053">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20200101__20201231_z9SGo41sCH01" title="Expected life (years)">7.3</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_uPure_c20210101__20211231_z3M9emPm5qn4" title="Expected volatility"><span style="-sec-ix-hidden: xdx2ixbrl1057">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20200101__20201231_z7SXVIPxgUl1" title="Expected volatility">62.82</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected dividend yield</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpxL_uPure_c20210101__20211231_z9xxifgwo94f" style="text-align: right" title="Expected dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl1061">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpn_uPure_c20200101__20201231_zhbbCav9JuG2" style="text-align: right" title="Expected dividend yield"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A1_zxbuYX5Y3Gil" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>



<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Restricted
Stock Units</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zdxbdHWLfY52" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#8217;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zSPdVrsBLCA9" style="display: none">Schedule of Outstanding Restricted Stock Units and Related Activity&#160;</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of RSUs</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Grant Date Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2019</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKj7oMdvTZS" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"><span style="-sec-ix-hidden: xdx2ixbrl1067">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2KO0l2hhhge" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"><span style="-sec-ix-hidden: xdx2ixbrl1069">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: justify">Granted</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztHOH8AexPU" style="width: 16%; text-align: right" title="Number of Restricted Stock Units, Granted">549,500</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zRD8wDeHFPVg" style="width: 16%; text-align: right" title="Weighted Average Grant Date Fair Value, Granted">10.49</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0d2hrhaDSQ6" style="text-align: right" title="Number of Restricted Stock Units, Vested">(27,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHwkNVsfq80e" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">10.49</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXhA4vanc5Sb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1079">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdpgeWJJSZtc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1081">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2020</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zpIxJz52LHOa" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning">522,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0k7esXOm9I9" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning">10.49</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOcWgmeoo1q7" style="text-align: right" title="Number of Restricted Stock Units, Granted">1,217,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0lhzF20z274" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted">9.76</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zU59ccI4xKZ7" style="text-align: right" title="Number of Restricted Stock Units, Vested">(438,502</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zj4OBMLUd9i6" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">10.10</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8wTTKHzZV6d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled">(34,083</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zfunQIOUTEY9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled">9.91</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2021</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znJYHW8cebcg" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending">1,267,415</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqEk7mxbcjJ3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending">9.94</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A6_zYgWVVCbjhS" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of December 31, 2021, there was $<span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pn5n6_c20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOvpm3yhiKf8" title="Unrecognized stock-based compensation">11.6</span> million of unrecognized stock-based compensation expense related to outstanding RSUs which is expected
to be recognized over a weighted-average period of <span id="xdx_90C_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znc4A15m5KW" title="Unrecognized stock-based compensation recognition period">2.3</span> years.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Warrants</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has issued warrants related to financings, acquisitions and as compensation to third parties for services provided. The Company
estimates the fair value of issued warrants on the date of issuance as determined using a Black-Scholes pricing model. The Company amortizes
the fair value of issued warrants using a vesting schedule based on the terms and conditions of each warrant if granted for services.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89D_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zoc3OClcrw9c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes warrant activity during the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zDPlnfi3RWNk" style="display: none">Schedule of Warrant Activity&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Warrants</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2019</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20200101__20201231_zgSmBBhNcfH7" style="width: 12%; text-align: right" title="Number of Warrants Outstanding, Beginning">983,535</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20200101__20201231_zTTpPpAxtjFg" style="width: 12%; text-align: right" title="Weighted Average Exercise Price, Beginning">1.44</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20200101__20201231_zhaJPvQ9a8q1" style="width: 12%; text-align: right" title="Weighted Average Fair Value, Beginning">1.03</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20200101__20201231_zz8Ugk0nrQRl" style="text-align: right" title="Number of Warrants Outstanding, Granted">20,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zSBS8JTaKKuj" style="text-align: right" title="Weighted Average Exercise Price, Granted">1.40</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zYedL0cnZYEk" style="text-align: right" title="Weighted Average Fair Value, Granted">15.19</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20200101__20201231_zHSZza5Q46Gg" style="text-align: right" title="Number of Warrants Outstanding, Expired">(9,090</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Expired">6.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Expired">0.17</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20200101__20201231_pdd" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1127">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1129">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1131">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20200101__20201231_zcPYfJXd5BX1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised">(924,445</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised">1.42</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_z9m0ZiGZGdE6" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised">1.43</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20210101__20211231_z8A0MfXBQMs3" style="text-align: right" title="Number of Warrants Outstanding, Beginning">70,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20211231_zlJurqfxwpL1" style="text-align: right" title="Weighted Average Exercise Price, Beginning">1.83</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20210101__20211231_zFA1Kkjk4hve" style="text-align: right" title="Weighted Average Fair Value, Beginning">5.21</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20200101__20201231_zPqMwsByDKX1" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning">3.3</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20210101__20211231_zpEOrU0KXted" style="text-align: right" title="Number of Warrants Outstanding, Granted">456,281</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_z93lk9ynJ1Ra" style="text-align: right" title="Weighted Average Exercise Price, Granted">9.13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zbwuFdjcDFX7" style="text-align: right" title="Weighted Average Fair Value, Granted">3.83</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20210101__20211231_zI0GvYE0Lli" style="text-align: right" title="Number of Warrants Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1153">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zJ3m9g150fRb" style="text-align: right" title="Weighted Average Exercise Price, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1155">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20210101__20211231_zRryHhVq4t1i" style="text-align: right" title="Weighted Average Fair Value, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1157">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20210101__20211231_zxdYOGQuov42" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1159">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_zZeNGQ4VFTl6" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1161">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zLFQmA0k6r43" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1163">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20210101__20211231_zB6Hy9h4MgPj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1165">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20211231_zeKmnrt1D1Ac" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1167">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zNJvTxhkQiEl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1169">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20210101__20211231_zP0tRVtnrDHj" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending">526,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_c20210101__20211231_zbzTbWnfSag3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending">8.15</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_980_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_c20210101__20211231_zbnXEdStRhzj" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending">4.01</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right"><span id="xdx_90A_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231_z9wk49yHjIt7" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Ending">4.7</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A2_zOA32fHdf4ul" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
intrinsic value of warrants exercised during the years ended December 31, 2021 and 2020 was $<span id="xdx_90F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_ziiwU69AAvs5" title="Intrinsic value of warrants exercised">0</span> and approximately $<span id="xdx_904_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20200101__20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zYr3dLcsF7o" title="Intrinsic value of warrants exercised">9.7</span> million, respectively.
The aggregate intrinsic value of outstanding warrants at December 31, 2021 was approximately $<span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pp0p0_c20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z17zlr2H7eVl" title="Intrinsic value of options outstanding">497,000</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--ClassOfWarrantExercisable_iI_c20211231_zCR4tHSVU0g4" title="Warrants exercisable">70,000</span>
warrants are exercisable at December 31, 2021. As discussed in Note 3 and Note 4, approximately <span id="xdx_907_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20211231_zIbB2J8b7as2" title="Warrants purchase">456,000</span> warrants to purchase shares of
the Company&#8217;s common stock were issued in connection with the acquisition of ACI and IdMo. The ability to exercise the warrants
is contingent upon the achievement of certain development and revenue milestones on or before January 1, 2027. There was no unrecognized
stock-based compensation expense related to warrants.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 4 for additional information regarding the fair value calculation of the warrants issued during the year ended December 31, 2021.
The fair values for the warrants issued during the year ended December 31, 2020 were estimated at the date of grant using the Black Scholes
model with the following weighted average assumptions:</span></p>

<p id="xdx_89B_ecustom--ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_zqSOWiYk8mai" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span id="xdx_8B3_zwJgYjTNt9Pe" style="display: none">Schedule of Fair Value of Warrants Assumptions</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Risk-free interest rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zTa8wc1yHAq1" title="Warrants outstanding, measurement input">0.34</span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected life (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_z5upFdIICx5f" title="Warrants, expected life">5.0</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90A_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputOptionVolatilityMember_zADCevmXEtLj" title="Warrants outstanding, measurement input">61.42</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected dividend yield</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_dn_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedDividendRateMember_zgdrggoMTiy" title="Warrants outstanding, measurement input">None</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8AF_z5u27N2jcE3j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock
Issued for Services</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has issued restricted stock to third parties for services provided. The grant date fair value of the restricted stock granted
is determined using the closing market price of the Company&#8217;s common stock on the grant date with the associated compensation expense
amortized over the vesting period of the stock awards. The Company issued <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20210101__20211231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zrorJRhIKQ07" title="Number of shares issued for services">5,548</span> and <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20200101__20201231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z7aVaQlQib6f" title="Number of shares issued for services">83,935</span> shares of restricted stock for services during
the years ended December 31, 2021 and 2020, respectively, and there was no unrecognized stock-based compensation expense related to restricted
stock issued.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stock-Based
Compensation Expense</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zYppEJUwsZDl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognized stock-based compensation expense related to the types of awards discussed above as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_z4J5iA0u0fxf" style="display: none">Schedule of Recognized Stock-based Compensation Expense&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20210101__20211231_zT4Hf0hlHu41" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20200101__20201231_zxacGCeS2hB5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMscvFbk3PUc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Options</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">292,754</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">901,345</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvvTXrYkiacd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Restricted stock units</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,164,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500,861</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z9i08GP7cQDd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Warrants</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1211">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,802</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--StockCompensationPlanMember_zHVTkU2ozsn1" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">51,900</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,032,033</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_zeM83qAn8CVi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total stock-based compensation expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,509,404</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,738,041</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_zDMo5YgxXMig" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256595608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_805_eus-gaap--IncomeTaxDisclosureTextBlock_zaJ9u6yheya5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
12 &#8211; <span id="xdx_829_zk712nVAcEcg">Income Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zTKXUnErz1fa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the provision for income taxes consists of the following for the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_z7Cp1oOGdV0i" style="display: none">Schedule
of Components Income Tax Provision</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20210101__20211231_zShenNxzG1c8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20200101__20201231_z2PbwxMbRZt1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zzWXkxpJ1Uog" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Current:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zM0KfOCi5CIf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%">Federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,092,730</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1228">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zVqlAThyPHG1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">886,173</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">637,760</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zOBsNLOVyZB4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total current</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">6,978,903</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">637,760</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zykaTr8BkKGh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Deferred:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zYzLaIbsrmd6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,394,686</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(452,544</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zztA6NM79arb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">603,642</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(94,680</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_mtDFSALzrPD_maITEBzvit_z0q8kKyykqu9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,998,328</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(547,224</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zP1MFqpfiuT" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income tax expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,977,231</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">90,536</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p id="xdx_8A3_z1mePTVWcASi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_899_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zvzNopN7hBW8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zaoIomXFB0K2" style="display: none">Schedule
of Benefit from Income Taxes and Effective Tax Rates</span><span/></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20210101__20211231_z6980I8hDI6g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20200101__20201231_zHgGNEOhd5ol" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_zXpdCr0b1Na6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Federal income tax expense at statutory rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_z43tTiqrxf6a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State income tax expense, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.9</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.3</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zd3FK1leP3Ig" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Permanent differences:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_i01_dp_uPure_z072WVQLRVM3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">- Foreign derived intangible income deduction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3.5)</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1.7)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01_dp_uPure_zoaAMt4usOA6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">- Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(8.8)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_zNUDpmBZLhVd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">- Other permanent differences</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.3</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(0.4)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_zOXzPfkrL0Ga" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2.6)</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2.0)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_dp_uPure_ztGJKUAy8S02" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Change in uncertain tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.4</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.1</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_dp_uPure_zGOC15NIMPec" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Change in valuation allowance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(12.1)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_zjv7Wy0H8TB2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1.0)</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(0.2)</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_dp_uPure_z91TLon6B3Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective income tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">19.7</td><td style="padding-bottom: 2.5pt; text-align: left">%</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.2</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

<p id="xdx_8A0_z9mcYJ1gy8Qk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_897_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zo7zM9wTTR57" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
deferred tax assets consist of the following components as of December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8BE_zR77eQ2jgJHh" style="display: none">Schedule
of Deferred Tax Assets</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20211231_zRuUXuwIUBOe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20201231_zXG8j3w83SFe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zVed8GQr78j2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zUL3t1hIswf8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1291">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">37,898</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_zCvfju4P0uDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reserves and allowances</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">166,050</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,049</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zNaj9KdaNZ34" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,871</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">241,652</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_i01I_maDTAGzwm0_z5clgJ7hJoP1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Research and development credits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1300">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">423,001</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_msDITLzwoD_z5ZVNCX4T4kk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">559,921</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">902,600</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zBYs5mvz33Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzcCv_z8VYSyUfNLuj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(477,542</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(233,951</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzcCv_zBRpgH0PzwD1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangibles, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,743,972</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1313">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzcCv_zdpp1B28ptK2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Prepaids</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(560,093</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(66,456</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzcCv_zogUOEOWEOA5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(6,758</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(54,969</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_mtDITLzcCv_mtDITLzwoD_zBMEIkuZDu4e" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(7,788,365</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(355,376</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net deferred tax assets (liabilities)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsOther_iI_c20211231_z7QLOaeDwNB9" style="text-align: right" title="Net deferred tax assets (liabilities)">(7,228,444</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsOther_iI_c20201231_zIu00fQcG41j" style="text-align: right" title="Net deferred tax assets (liabilities)">547,224</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsValuationAllowance_iI_zDUT23wXA6k7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1328">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1329">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax assets (liabilities)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsNet_iNI_di_c20211231_zj9KDJmsXWrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)">(7,228,444</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsNet_iI_c20201231_zV3CypcZDxS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)">547,224</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A4_zcK4IhvjT9K5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">At
December 31, 2021, the Company had <span id="xdx_900_eus-gaap--OperatingLossCarryforwards_iI_do_c20211231_zUEXTNAo39Ji" title="Net operating loss carry-forwards">no</span> federal or state net operating loss carryforwards and <span id="xdx_904_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_iI_dxL_c20211231_zdNQYfU1vWod" title="Research and development credit carry forwards::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1337">no</span></span> federal or state research and development
credit carryforwards. </span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">As
of each reporting date, management considers new evidence, both positive and negative, that could affect its view of the future realization
of deferred tax assets. As of December 31, 2020, in part because in that year the Company achieved three years of cumulative pre-tax
income, management determined that there was sufficient positive evidence to conclude that it was more likely than not that its deferred
taxes were realizable. The Company therefore fully reduced its valuation allowance accordingly by $<span id="xdx_907_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_c20200101__20201231_zDm9TNvDXbU4" title="Deferred tax valuation allowance">5,161,500</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">ASC
Topic 740-10-05 requires that the impact of a tax position be recognized in the financial statements if that position is more likely
than not of being sustained on audit, based on the technical merits of the position. Our unrecognized tax benefit balances included $<span id="xdx_902_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20211231_zSG1ucZ4iKjc" title="Unrecognized tax benefits that would impact effective tax rate">1,067,853</span>
at December 31, 2021 and $<span id="xdx_905_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20201231_zvagCgJ0Lhv3" title="Unrecognized tax benefits that would impact effective tax rate">447,831</span> at December 31, 2020 of tax positions that, if recognized, would impact our effective tax rate. The
Company expects no material changes to the liability for unrecognized tax benefits in the next 12 months. Interest and penalties associated
with uncertain tax positions are recorded as a component of income tax expense. A reconciliation of the beginning and ending amount of
unrecognized benefits is as follows:</span></p>

<p id="xdx_89E_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_z22VrorrMuhf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_za9mSYEJIH0g" style="display: none">Schedule
of Unrecognized Tax Benefits</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Unrecognized tax benefits at the beginning of the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20210101__20211231_z2rLK0m68jT5" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year">447,831</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--UnrecognizedTaxBenefits_iS_c20200101__20201231_zFX9j6gPsrge" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"><span style="-sec-ix-hidden: xdx2ixbrl1349">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross increases - current year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20210101__20211231_zErnTsgUcFtf" style="text-align: right" title="Gross increases- current year tax positions">770,069</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20200101__20201231_z1SoVnocukT" style="text-align: right" title="Gross increases - current year tax positions">232,145</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross increases - prior year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20210101__20211231_z3OcJzGmbz85" style="text-align: right" title="Gross increases- prior year tax positions"><span style="-sec-ix-hidden: xdx2ixbrl1355">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20200101__20201231_ztt2M6GbsmF7" style="text-align: right" title="Gross increases - prior year tax positions">215,686</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Gross decreases - prior year tax positions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20210101__20211231_zzOs3EuHtwoa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions">(150,047</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20200101__20201231_zqeqCjL4JRo9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases- prior year tax positions"><span style="-sec-ix-hidden: xdx2ixbrl1361">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Unrecognized tax benefits at end of year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--UnrecognizedTaxBenefits_iE_c20210101__20211231_zREENLBpF47e" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">1,067,853</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20200101__20201231_zSJpCk3fmkkh" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">447,831</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Interest and penalties in year-end balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20210101__20211231_z5sQtFWK2gV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"><span style="-sec-ix-hidden: xdx2ixbrl1367">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20200101__20201231_zZ4KIHyneUth" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalities in year- end balance"><span style="-sec-ix-hidden: xdx2ixbrl1369">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A3_z7WNCykoi0q8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is subject to taxation in the United States and other state jurisdictions. The tax years from December 31, 2017 through December
31, 2021 remain open to examination for federal income tax purposes and by the other major taxing jurisdictions to which the Company
is subject. The Company is not currently under examination by any taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261117528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>Related Party Transactions [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">Related Party Transactions</a></td>
<td class="text"><p id="xdx_806_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zcaJ6fsseAFa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
13 &#8211; <span id="xdx_827_zl7CfGXc9Xhg">Related Party Transactions</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company acquired the exclusive rights to the CoPrimer technology pursuant to an exclusive license agreement, dated April 2014 (the &#8220;Exclusive
License Agreement&#8221;), between the Company and DNA Logix, Inc., which was assigned to Dr. Brent Satterfield, an executive officer,
prior to the Company&#8217;s acquisition of DNA Logix, Inc. On March 1, 2017, the Company entered into an amendment to its Exclusive
License Agreement for its Cooperative Primers (&#8220;License&#8221;) technology with Dr. Satterfield. The amendment provided in part
that all accrued royalties under the License ceased as of January 1, 2017, and the Company agreed to pay to Dr. Satterfield $<span id="xdx_901_eus-gaap--AccruedRoyaltiesCurrent_iI_c20170101__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zNjZTymIIkl2" title="Accrued royalties">700,000</span>
of accrued royalties at the rate of $<span id="xdx_902_eus-gaap--PaymentsForRoyalties_c20170101__20170130__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zeTE9fSKO6Re" title="Payment for royalties per month">10,000</span> per month starting in January 2017. At December 31, 2021, the aggregate balance of this related
party liability was $<span id="xdx_908_eus-gaap--DueToRelatedPartiesCurrentAndNoncurrent_iI_c20211231__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zI7dC55ozIji" title="Due to related party">0</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI http://asc.fasb.org/topic&amp;trid=2122745<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39691-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261151032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p id="xdx_809_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zyWzXGnIz1X5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
14 &#8211; <span id="xdx_82B_zdGMdmEjK4D4">Commitments and Contingencies</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Lease
Obligations</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s offices are located at 2401 S. Foothill Dr., Suite D, Salt Lake City, Utah 84109-1479. In February 2020, the Company
entered into a <span id="xdx_900_eus-gaap--LesseeOperatingLeaseTermOfContract_iI_dtY_c20200229_zMmnWzJ0bGQe" title="Operating lease, term">4</span>-year lease agreement for its office space and in March 2020, the Company entered into an addendum with our landlord
for additional space. The aggregate space consists of approximately <span id="xdx_902_eus-gaap--AreaOfLand_iI_uSqft_c20211231_zxmCxfnxSgl7" title="Area of land">13,687</span> square feet at a monthly rate of $<span id="xdx_90C_eus-gaap--PaymentsForRent_c20210101__20211231_zVg4Yn7l6DCb" title="Payments for rent">28,825</span> and expires in <span id="xdx_904_eus-gaap--LeaseExpirationDate1_dxL_c20210101__20211231_zIwM2LtuO1wc" title="Lease expiration date::XDX::2024-02-29"><span style="-sec-ix-hidden: xdx2ixbrl1387">February
2024</span></span>. As a result of business acquisitions during the year ended December 31, 2021, the Company also leases additional laboratory and
office space under two month-to-month leases. For the years ended December 31, 2021 and 2020, the Company expensed $<span id="xdx_90C_eus-gaap--LeaseAndRentalExpense_c20210101__20211231_zdYqWXwLRjd8" title="Rent expenses">346,350</span> and $<span id="xdx_905_eus-gaap--LeaseAndRentalExpense_c20200101__20201231_zAn8BdbhBI09" title="Rent expenses">311,963</span>,
respectively, for rent. The Company&#8217;s future minimum lease payments were as follows as of December 31, 2021:</span></p>

<p id="xdx_89C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zJa74hmiEoC1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zUcB0xAq46F9" style="display: none">Schedule
of Future Minimum Lease Payments</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="4" style="border-bottom: Black 1.5pt solid; text-align: justify; font-weight: bold">Year Ending December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzrRH_ziBMHOHeBkXa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%; text-align: justify">2022</td><td style="width: 2%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">293,595</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzrRH_zP52gnggo36f" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">2023</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,059</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPzrRH_zDIGLmTsKza6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">2024</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">50,774</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzrRH_zrkX3FUZqnFg" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments </span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">647,428</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p id="xdx_8A0_zRuJYDZ1hGDg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Litigation</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Liabilities
for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable
that a liability has been incurred and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies
are expensed as incurred.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Five
different securities class action complaints were filed in July, September and December by certain stockholders of the Company against
the Company claiming that the Company promulgated false and misleading press releases to increase the price of our stock to improperly
benefit the officers and directors of the Company. The plaintiffs demand compensatory damages sustained as a result of the Company&#8217;s
alleged wrongdoing in an amount to be proven at trial. The Company believes these lawsuits are without merit and intends to defend the
cases vigorously. The Company is unable to estimate a range of loss, if any, that could result were there to be an adverse final decision
in these cases. As of the date of this report, the Company does not believe it is probable that these cases will result in an unfavorable
outcome; however, if an unfavorable outcome were to occur in these cases, it is possible that the impact could be material to the Company&#8217;s
results of operations in the period(s) in which any such outcome becomes probable and estimable.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 440<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6491277&amp;loc=d3e6429-115629<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123406679&amp;loc=d3e25336-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256578936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><p id="xdx_806_eus-gaap--SubsequentEventsTextBlock_zHRGrULDy1Ag" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note
15 &#8211; <span id="xdx_82A_zcMuOF8q4j85">Subsequent Events</span> </b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2022, the Company&#8217;s Board of Directors authorized a share repurchase program that would allow the Company to repurchase up
to $<span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_pn5n6_c20220301__20220331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zqJAGcwb79vk" title="Employee stock purchase plan">30</span> million of CODX common stock. The repurchase program does not obligate the Company to acquire any particular amount of common
shares, and the repurchase program may be suspended or discontinued at any time at the Company&#8217;s discretion. The timing and amount
of any share repurchases under the share repurchase program will be determined by Co-Diagnostics&#8217; management at its discretion
based on ongoing assessments of the capital needs of the business, the market price of the Company&#8217;s common stock, corporate and
regulatory requirements, and general market conditions. Share repurchases under the program may be made through a variety of methods,
which may include open market purchases, in block trades, accelerated share repurchase transactions, exchange transactions, the use of
trading plans intended to qualify under Rule 10b5-1 under the Securities Exchange Act of 1934, as amended, or any combination of such
methods.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254881224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription', window );">Reclassifications</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zi8aFsvzRVve" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_868_zAoIg8kWVcdk">Reclassifications</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
prior year amounts have been reclassified to conform with the current year&#8217;s presentation. These reclassifications have no impact
on the previously reported results.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_849_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zAEuygpiqKti" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_ziYlQl5jWyil">Cash
and Cash Equivalents</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2021 and December
31, 2020. <span style="background-color: white">The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesPolicy', window );">Marketable Investment Securities</a></td>
<td class="text"><p id="xdx_846_eus-gaap--MarketableSecuritiesPolicy_zEkaO0DuWUV1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86D_z8zyii7eq2Dg">Marketable
Investment Securities</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s marketable investment securities are comprised of investments in certificates of deposit. The Company determines the
appropriate classification of its marketable investment securities at the time of purchase and reevaluates such designation at each balance
sheet date. The Company has classified and accounted for its marketable investment securities as available-for-sale securities as the
Company may sell these securities at any time for use in its current operations or for other purposes, even prior to maturity. <span style="background-color: white">As
a result, the Company classifies its marketable investment securities, including securities with stated maturities beyond twelve months,
within current assets in the consolidated balance sheets. Any unrealized gains or losses are immaterial.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zL1H9FQgXxu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86F_zS9Rdy5AqzQ4">Accounts
Receivable</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#8217; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2021 total accounts receivable was $<span id="xdx_901_eus-gaap--AccountsReceivableGrossCurrent_iI_c20211231_zOAQgcFKeBYb" title="Accounts receivable">21,508,779</span> with an allowance for uncollectable
accounts of $<span id="xdx_900_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20211231_zImDyFlHgufj" title="Doubtful accounts">669,597</span> resulting in a net amount of $<span id="xdx_908_eus-gaap--AccountsReceivableNetCurrent_iI_c20211231_z7PGGylXtnzf" title="Accounts receivable, net">20,839,182</span>. At December 31, 2020 total accounts receivable was $<span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20201231_z4a7LOTJeLE7" title="Accounts receivable">12,928,633</span> with an
allowance for uncollectable accounts of $<span id="xdx_905_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20201231_zCx8z6rWx1a7" title="Doubtful accounts">791,800</span> resulting in a net amount of $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20201231_zXZfHRrSF902" title="Accounts receivable, net">12,136,833</span>.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsPolicy', window );">Equity-Method Investments</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--EquityMethodInvestmentsPolicy_ztbBNvBVoR8j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86E_zFn8BCB5naEa">Equity-Method
Investments</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventory</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--InventoryPolicyTextBlock_zJSxdKriX1Ci" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zWipfv52qduc">Inventory</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2021, the Company had $<span id="xdx_903_eus-gaap--InventoryNet_iI_c20211231_zV3jP1EBL2Mb" title="Inventory">2,004,169</span> in inventory, of which $<span id="xdx_90F_eus-gaap--InventoryFinishedGoods_iI_c20211231_zNGFDafzIySh" title="Inventory finished goods">983,088</span> was
finished goods and $<span id="xdx_905_eus-gaap--InventoryRawMaterials_iI_c20211231_zRZL4rZ6qlq8" title="Inventory raw materials">1,021,081</span> was raw materials. At December 31, 2020, the Company had $<span id="xdx_902_eus-gaap--InventoryNet_iI_pp0p0_c20201231_zkIsHkOENCVj" title="Inventory">7,995,189</span> in inventory, of which $<span id="xdx_904_eus-gaap--InventoryFinishedGoods_iI_c20201231_zhhvjQt001Tl" title="Inventory finished goods">598,881</span> was
finished goods and $<span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20201231_zQytWTMDTJh1" title="Inventory raw materials">7,396,308</span> was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p id="xdx_846_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zyNrfAjMIfzd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_860_zYPmYxw5nTv">Property
and Equipment</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is provided using the straight-line method
over the estimated useful lives of the property, generally from <span id="xdx_909_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtYxL_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_za0xhBcz5AD5" title="Estimated useful life of property::XDX::P3Y"><span style="-sec-ix-hidden: xdx2ixbrl0552">three</span></span> to <span id="xdx_907_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dc_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zUqkJ543Nmrc" title="Estimated useful life of property">five years</span>. Repairs and maintenance costs are expensed as incurred
except when such repairs significantly add to the useful life or productive capacity of the asset, in which case the repairs are capitalized.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company reviews its long-lived assets, including property and equipment, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business Combinations</a></td>
<td class="text"><p id="xdx_846_eus-gaap--BusinessCombinationsPolicy_zTCL6gqF6Rp" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86C_zcbUrRrw8YHd">Business
Combinations</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
estimate the fair value of assets acquired and liabilities assumed in a business combination. Goodwill as of the acquisition date is
measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities
assumed. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets.
Management&#8217;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and
unpredictable, and as a result, actual results may differ from estimates.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_84F_eus-gaap--RevenueRecognitionPolicyTextBlock_z3JAUr1XuWyc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_864_zganBGX8MqZ">Revenue
Recognition</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Deferred Revenue</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zsoZvNpjt0Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86F_z0uMxqmiKJ93">Deferred
Revenue</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Development</a></td>
<td class="text"><p id="xdx_845_eus-gaap--ResearchAndDevelopmentExpensePolicy_ztREKtIsiORl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_863_z8fievGR2Eid">Research
and Development</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research
and development costs are expensed when incurred. The Company expensed $<span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20210101__20211231_zD31grYExex" title="Research and development costs">14,961,916</span> and $<span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20200101__20201231_zgepmEXfZlw2" title="Research and development costs">3,185,290</span> of research and development costs for
the years ended December 31, 2021 and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based Compensation</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zp8VINkOnaL4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_zfB04oP1hJfg">Stock-based
Compensation</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#8220;RSUs&#8221;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. <span style="background-color: white">When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zTeCsQ39ZPFe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_866_zP3LKUDC7qK8">Income
Taxes</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. While the Company believes it has no significant uncertain income
tax positions in the consolidated financial statements, adverse determinations by these taxing authorities could have a material adverse
effect on the consolidated financial positions, result of operations, or cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income per Share</a></td>
<td class="text"><p id="xdx_84C_eus-gaap--EarningsPerSharePolicyTextBlock_zayB3iewlqZh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_86A_zJfGUtsg9uCh">Net
Income per Share</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentrations Risk and Significant Customers</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_zYmv9p6Ni7H6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zqsZadBcpIh">Concentrations
Risk and Significant Customers</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">The
Company had certain customers which are each responsible for generating 10% or more of the total revenue for the years ended December
31, 2021 and 2020. Two customers together accounted for approximately <span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_zXaRhfoyQkEg" title="Concentration risk percentage">48</span>% and <span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_z1BK5OEfUokd" title="Concentration risk percentage">38</span>% of total revenue for the years ended December 31, 2021
and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white">Two
customers each accounted for more than 10% of accounts receivable at December 31, 2021 and 2020. These two customers together accounted
for approximately <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z1A6UaIYLXXj" title="Concentration risk percentage">66</span>% and <span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zJm7LCpDZZgi" title="Concentration risk percentage">48</span>% of accounts receivable at December 31, 2021 and 2020, respectively.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued Accounting Standards</a></td>
<td class="text"><p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zqf5gUrlXHAe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="xdx_862_zmlRakIHjUGl">Recently
Issued Accounting Standards</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#8220;FASB&#8221;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#8217;s financial statements upon adoption.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
an emerging growth company (&#8220;EGC&#8221;), the Company has elected to take advantage of the benefits of the extended transition
period provided for in Section 7(a)(2)(B) of the Securities Act of 1933, as amended, for complying with new or revised accounting standards
which allows the Company to defer adoption of certain accounting standards until those standards would otherwise apply to private companies.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
February 2016, the FASB issued ASU No. 2016-02, Leases (Topic 842), which requires recognition of leased assets and liabilities on the
balance sheet and disclosing key information about leasing arrangements. This update is effective for annual periods and interim periods
with those periods beginning after December 15, 2021, for public EGC companies like us. The Company will use the modified retrospective
transition method with the option to recognize a cumulative-effect adjustment at the date of adoption. The Company&#8217;s balance
sheet will be impacted as it records right-of-use assets and lease liabilities on its consolidated balance sheets, but the Company
does not expect the adoption of this standard will have a material impact on its consolidated statements of operations and cash flows.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326) (&#8220;ASU 2016-13&#8221;), which requires
the measurement and recognition of expected credit losses for certain financial instruments, which includes the Company&#8217;s accounts
receivable. ASU 2016-13 replaces the existing incurred loss impairment model with an expected loss methodology, which will result in
more timely recognition of credit losses. The update is effective for annual periods and interim periods with those periods beginning
after December 15, 2021, for public EGC companies. The standard requires a cumulative effect adjustment to the balance sheet as of the
beginning of the first early reporting period in which the guidance is effective. The Company is evaluating the impact of the adoption
of ASU 2016-13 on its consolidated financial statements but does not expect the adoption of this standard will have a material impact
on its consolidated financial statements.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4273-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123345438&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=SL94080555-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e543-108305<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecuritiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment classified as marketable security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123599081&amp;loc=d3e62652-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PriorPeriodReclassificationAdjustmentDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429488&amp;loc=d3e326-107755<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PriorPeriodReclassificationAdjustmentDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130561-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130564-203045<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e4975-111524<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5212-111524<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5093-111524<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5033-111524<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84159169&amp;loc=d3e10133-111534<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256543736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of Assets and Liabilities assumed</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zMyaT089AjJl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of assets acquired and liabilities assumed was based on a preliminary valuation, and our estimates and assumptions are subject
to change within the measurement period. The primary area that remains preliminary relates to the evaluation of certain tax-related items
and potential minor adjustments to the purchase consideration. The total purchase consideration was allocated to the assets acquired
and liabilities assumed as set forth below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BA_zeoPe8gqz1z8" style="display: none">Schedule
of Assets and Liabilities assumed</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%">Fair value of common shares issued</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_c20210101__20211231_zSIcX0lehjo7" style="width: 16%; text-align: right" title="Stock issued during period, value acquisitions">25,160,223</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Payable to shareholder</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_ecustom--PaymentsToShareHoldersValueAcquisitions_c20210101__20211231_zi5fQ801MlCl" style="text-align: right" title="Payable to shareholders">100,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Fair value of contingent shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ContingentConsiderationClassifiedAsEquityFairValueDisclosure_iI_c20211231_zbGT0x0sHfO6" style="text-align: right" title="Fair value of contingent shares">8,684,669</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Fair value of contingent warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--WarrantsNotSettleableInCashFairValueDisclosure_iI_c20211231_zg5LBND20pgi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair value of contingent warrants">1,747,972</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Total fair value of consideration transferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--BusinessCombinationConsiderationTransferred1_c20210101__20211231_zqy6Oz1sPUT8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Business combination, consideration transferred">35,692,864</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Identifiable assets acquired and liabilities assumed</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_c20211231_zGNojNKtPf72" style="text-align: right" title="Cash">1,196,243</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_c20211231_ze2sYQxhW1ke" style="text-align: right" title="Accounts receivables">31,170</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Prepaid expenses and other current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_c20211231_zGXKFTbAYHW7" style="text-align: right" title="Prepaid expenses and other current assets">70,321</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Property and equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_c20211231_zi1OLYEu7oh7" style="text-align: right" title="Property and equipments">408,173</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Technology - In-process research and development</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_iI_c20211231_zTnyCjuBKxf2" style="text-align: right" title="Research and development in process">26,101,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Non-competition agreements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_iI_c20211231_zGl0giuVRrzj" style="text-align: right" title="Non competition agreements">1,094,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts payable and accrued other expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_iNI_di_c20211231_zqxRfssFTrC5" style="text-align: right" title="Accounts payable and accrued other expenses">(1,069,274</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Deferred tax liability</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNI_di_c20211231_z6VgxFRsjupb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Deferred tax liability">(6,845,587</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Total identifiable net assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iI_c20211231_zJ4NWXt1iuhe" style="text-align: right" title="Total indentifiable net assets">20,986,046</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Goodwill</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--Goodwill_iI_c20211231_zeRGg1Z3UsIb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill">14,706,818</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_c20211231_zmsfl4YhDPm4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total">35,692,864</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1486-128463<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=79982066&amp;loc=d3e1392-128463<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674260408344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock', window );">Schedule of Fair Value Assets and Liabilities</a></td>
<td class="text"><p id="xdx_899_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zg3518j0zJu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2021 and December
31, 2020, by level within the fair value hierarchy:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BC_zk6XPsLODpu4" style="display: none">Schedule
of Fair Value Assets and Liabilities</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt">Marketable securities (certificates of deposit)</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zm7IeHnuO84l" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"><span style="-sec-ix-hidden: xdx2ixbrl0642">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zCqDuq7BltPl" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">1,255,266</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_z7wCOg6TwcJi" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"><span style="-sec-ix-hidden: xdx2ixbrl0646">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_z6Xoq3Z3h7je" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">1,255,266</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6HnSJMIP3mj" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0650">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zLfFapCIYSqc" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">1,255,266</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zynnaJbelf5d" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0654">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zxvCqoqI6Dy9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">1,255,266</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Contingent consideration - common stock</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYk3TzBox34f" style="text-align: right" title="Contingent consideration common stock">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0658">&#160;</span>-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_zeZSA6wQIdpj" style="text-align: right" title="Contingent consideration common stock">&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0660">&#160;</span>-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_989_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_z4QZ151PvwFd" style="text-align: right" title="Contingent consideration common stock">8,684,669</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zdqcT2CDIQme" style="text-align: right" title="Contingent consideration common stock">8,684,669</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Contingent consideration - warrants</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zlHrQECDYw94" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"><span style="-sec-ix-hidden: xdx2ixbrl0666">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_ztTWsXCnviIi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"><span style="-sec-ix-hidden: xdx2ixbrl0668">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zJcjuEjSz3Cb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants">1,747,972</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zzP0EQYdyFqe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants">1,747,972</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total liabilities measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYRGy7WS1HRk" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0674">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98E_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_z3seBkcPLFj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0676">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zbuLevT9KIs1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value">10,432,641</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_985_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231_zyrzveZsO1g2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value">10,432,641</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 1)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 2)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">(Level 3)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Total</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Assets:</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt">Marketable securities (certificates of deposit)</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPH6PGBvZ6Df" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"><span style="-sec-ix-hidden: xdx2ixbrl0682">-</span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--MarketableSecurities_iI_pp0p0_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z9waNpLhGPM2" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">4,335,446</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zUg4dE2FzKYh" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0686">&#160;</span>-</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zQdEXYyHuO3k" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)">4,335,446</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total assets measured at fair value</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zl7q8y6J9524" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0690">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQU0EDOER2Yb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">4,335,446</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zh2fpC3Hn111" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"><span style="-sec-ix-hidden: xdx2ixbrl0694">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_980_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zOoP6mVLysw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value">4,335,446</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock', window );">Schedule of Changes in Fair Value Measurement</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zGT36wByptkd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
changes for Level 3 items measured at fair value on a recurring basis are as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 60pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B4_zVVMJuliFhc4" style="display: none">Schedule
of Changes in Fair Value Measurement</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Fair value as of December 31, 2020</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_c20210101__20211231_z49DilL36i9d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Asset acquisition contingent consideration liability noncurrent"><span style="-sec-ix-hidden: xdx2ixbrl0700">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 70%; text-align: left; padding-bottom: 1.5pt">Contingent considered issued for business acquisitions</td><td style="width: 10%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">&#160;</td><td id="xdx_98C_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_c20210101__20211231_z8ovD4Tn2RPb" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Contingent considered issued for business acquisitions">10,432,641</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Fair value as of December 31, 2021</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_c20210101__20211231_z5RrSc3eUMj1" style="border-bottom: Black 2.5pt double; text-align: right" title="Asset acquisition contingent consideration liability noncurrent">10,432,641</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock', window );">Schedule of Contingent Consideration Common Stock and Warrants</a></td>
<td class="text"><p id="xdx_892_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zpiccZIH1lX8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;<span id="xdx_8BF_zg3exvZ9JGB1" style="display: none">Schedule
of Contingent Consideration Common Stock and Warrants</span></b></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zpuruaDolIf3" style="width: 16%; text-align: right" title="Warrants measurement input">8.93</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Strike price</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zK3cVOifFAp2" style="text-align: right" title="Warrants measurement input">9.13</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zDS5whyEkeba" style="text-align: right" title="Warrants measurement input">80.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zzLfu533sbb1" style="text-align: right" title="Warrants measurement input">1.30</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20211231_zYjxs60AwO13" style="text-align: right" title="Warrants measurement, term">5.0</td><td style="text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>




<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to calculate the probability-adjusted value of the contingent consideration-common stock and contingent consideration-warrants,
the Company estimated the probability of achieving certain milestones, which include regulatory approval for identified products, as
well as production and net revenue targets. The probability of achieving the milestone related to net revenues was estimated using a
Monte Carlo simulation valuation model. The unobservable significant inputs to the valuation model were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Stock price</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zqLXGv2Ta1o1" style="width: 16%; text-align: right" title="Business combination,contingent consideration">8.93</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Risk-free rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zByYSoOk6oQg" style="text-align: right" title="Business combination,contingent consideration">1.30</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected term</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_dtY_c20210101__20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zhxoYlmhDPb6" style="text-align: right" title="Business combination,contingent consideration, term">5.0</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Weighted-average cost of capital</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputCostOfCapitalMember_zhImkEGhNGik" style="text-align: right" title="Business combination,contingent consideration">27.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Revenue discount rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputDiscountRateMember_zfdaih8MKiT" style="text-align: right" title="Business combination,contingent consideration">9.50</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Equity volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputEquityVolatilityMember_z3wiMDKAyeYl" style="text-align: right" title="Business combination,contingent consideration">80.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Asset volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputAssetVolatilityMember_zKh26MPjAQJf" style="text-align: right" title="Business combination,contingent consideration">80.00</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Revenue volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputRevenueVolatilityMember_zIA2hopBBqu5" style="text-align: right" title="Business combination,contingent consideration">30.00</td><td style="text-align: left">%</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19279-110258<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2C<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=SL7498348-110258<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256457976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</a></td>
<td class="text"><p id="xdx_897_eus-gaap--PropertyPlantAndEquipmentTextBlock_zzfakGPSbbZ7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property
and equipment, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B2_zy1zjPnolAQ5" style="display: none">Schedule
of Property and Equipment</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Estimated</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">Useful Lives in</p></td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"> years</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Lab equipment</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zNniGUOQicck" title="Property and equipment estimated useful lives">3</span> - <span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zJGJROUIiIW4" title="Property and equipment estimated useful lives">5</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zyxa7hrqCF5a" style="width: 14%; text-align: right" title="Property and equipment, gross">2,476,813</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUlt3xTtZVyc" style="width: 14%; text-align: right" title="Property and equipment, gross">1,212,561</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span id="xdx_901_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember_zNULZkEtwQrb" title="Property and equipment estimated useful lives">3</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zzhrcHbgJoW2" style="text-align: right" title="Property and equipment, gross">3,157</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zpFDJhQEo1L2" style="text-align: right" title="Property and equipment, gross">3,157</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment, furniture and other</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zncZHGcsMuUa" title="Property and equipment estimated useful lives">2</span> - <span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zRH8d9wLg5Ie" title="Property and equipment estimated useful lives">5</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z85W0rrp8qb2" style="text-align: right" title="Property and equipment, gross">75,401</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zHchHySF6Cle" style="text-align: right" title="Property and equipment, gross">38,344</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated depreciation and amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_981_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20211231_zBLmx7MmkOsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(622,155</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_c20201231_zpeyTiXyNv0j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation">(304,423</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Fixed assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20211231_zDONMh3Xgju6" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">1,933,216</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20201231_z37SNkZS9PWc" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net">949,639</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261152152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Intangible Assets</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zeNyMQmly8Jg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets, net consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zfSS8lkfInfh" style="display: none">Schedule
of Intangible Assets&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Estimated</p>
                                                                             <p style="margin-top: 0; margin-bottom: 0">Useful Lives in</p></td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"> years</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 48%; text-align: left">In-process research and development</td><td style="width: 2%">&#160;</td>
    <td style="width: 14%; text-align: center"><span id="xdx_900_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zZkP100aPyHj" title="Estimated useful lives in years, term">Indefinite</span></td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zFFc1TBbJ6V2" style="width: 14%; text-align: right" title="In-process research and development">26,101,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zx0JyuIxVM0l" style="width: 14%; text-align: right" title="In-process research and development">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0776">&#160;</span>-</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Non-competition agreements</td><td>&#160;</td>
    <td style="text-align: center"><span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MinimumMember_z0nE4Iciziyh" title="Estimated useful lives in years">1.5</span> - <span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MaximumMember_zVCzUdDeh1X6" title="Estimated useful lives in years">3</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z0ct4haYeGdh" style="text-align: right" title="Intangible assets, gross">1,094,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zSWyJSmq9b11" style="text-align: right" title="Intangible assets, gross">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span style="-sec-ix-hidden: xdx2ixbrl0784">&#160;</span>-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less accumulated amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20211231_zGxKLBIPuvC7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl0786">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20201231_z1WvsPw8pgU2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"><span style="-sec-ix-hidden: xdx2ixbrl0788">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 2.5pt">Intangible assets, net</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt">&#160;&#160;&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20211231_zMlPqCzdqqMc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net">27,195,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20201231_zaIAespoONp6" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"><span style="-sec-ix-hidden: xdx2ixbrl0792">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Future Amortization Expense</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zOKhJOm1KDea" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
expected future annual amortization expense of the Company&#8217;s intangible assets held as of December 31, 2021 is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B5_zhPshHDKSjQ" style="display: none">Schedule
of Future Amortization Expense&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; font-weight: bold">Year Ending December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td>
    <td colspan="2" id="xdx_497_20211231_zfXPLwjYghHl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Amortization Expense</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zkzwNNo6wvHc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 82%; text-align: justify">2022</td><td style="width: 1%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 15%; text-align: right">426,660</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_maFLIANzZiM_zsNyTlL51H4l" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">2023</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">364,668</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_maFLIANzZiM_zEDuaMmD2ij3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">2024</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">302,672</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zYX5bQAZUU7f" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: justify">Total</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,094,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256543736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Schedule of Accrued Expenses</a></td>
<td class="text"><p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zWQp8db5wvEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued
expenses consisted of the following:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BB_zDDUqS16gCb8" style="display: none">Schedule
of Accrued Expenses&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20211231_zl6ck8a2cjxj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20201231_zi31yqBf6Ou6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31, 2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zx42ewj43lcc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Payroll liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,455,694</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">1,627,957</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zfJD04nhz7ph" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Distributor commissions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">509,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,070,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--SalesAndExciseTaxPayableCurrent_iI_maALCzYz0_zhE8UR6SOb8e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Sales tax payable</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl0814">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,526</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zVSFpBgVk595" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Other accrued liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">894,458</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">99,020</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AccruedLiabilitiesCurrent_iI_mtALCzYz0_zQjgyzUd6S43" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total accrued expenses</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">3,859,652</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,849,503</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256508536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Summary of Revenue by Geographic Area</a></td>
<td class="text"><p id="xdx_894_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zpip6n1ibdk7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table sets forth revenue by geographic area:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BD_z9EhQeIhXaL" style="display: none">Summary of Revenue by Geographic Area&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">United States</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember_zpwoleb2rDB5" style="width: 16%; text-align: right" title="Revenue">52,185,812</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember_zyrCmUYDzw1c" style="width: 16%; text-align: right" title="Revenue">44,862,751</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Rest of World</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zyZkp1E9pYjj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue">45,699,791</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zPti5VVvAdS" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue">29,690,007</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 2.5pt">Total</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231_zuARGY6k0p5k" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">97,885,603</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231_zH7M22x6oZw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue">74,552,758</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Percentage of revenue by area:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">United States</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJazHFVJeNog" style="text-align: right" title="Percentage of revenue">53</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_z0skdzkf6pv1" style="text-align: right" title="Percentage of revenue">60</td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Rest of World</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zZcS9rKfGLzf" style="text-align: right" title="Percentage of revenue">47</td><td style="text-align: left">%</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zRaUBOXchH1h" style="text-align: right" title="Percentage of revenue">40</td><td style="text-align: left">%</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of Deferred Revenue</a></td>
<td class="text"><p id="xdx_899_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zsvRzQTqXeyj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in the Company&#8217;s deferred revenue balance for the years ended December 31, 2021 and 2020 were as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8B8_zNakCKApdiZe" style="display: none">Schedule of Deferred Revenue</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance as of December 31, 2019</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_981_eus-gaap--ContractWithCustomerLiability_iS_c20200101__20201231_zUENGvoZtdNa" style="width: 16%; text-align: right" title="Deferred revenue, beginning balance">1,323</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Revenue recognized included in deferred revenue balance at the beginning of the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20200101__20201231_zRVBGf26lXMg" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period">(1,323</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Increase due to prepayments from customers</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20200101__20201231_zqdmOB9VOj21" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from customers">305,307</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance as of December 31, 2020</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ContractWithCustomerLiability_iS_c20210101__20211231_zNvzN7EmUmq2" style="text-align: right" title="Deferred revenue, beginning balance">305,307</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Revenue recognized included in deferred revenue balance at the beginning of the period</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20210101__20211231_z5acRrjLtM6e" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period">(256,110</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Increase due to prepayments from customers</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20210101__20211231_ztHqSI9pUlYf" style="text-align: right" title="Increase due to prepayments from customers">79,213</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Increase due to note receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_ecustom--IncreaseDueToNoteReceivable_c20210101__20211231_zePfxnIws6wj" style="text-align: right" title="Increase due to note receivable">150,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Decrease due to refunds to customers and application to open balances</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_iN_di_c20210101__20211231_zhcNQNX5TXfa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Decrease due to refunds to customers and application to open balances">(128,410</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance as of December 31, 2021</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--ContractWithCustomerLiability_iE_c20210101__20211231_z9H33Mb2t3Sh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, Ending balance">150,000</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256569768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Basic and Diluted Earnings Per Share</a></td>
<td class="text"><p id="xdx_898_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zvjSVyVnsKN7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zuko8FVVHRHe" style="display: none">Schedule of Basic and Diluted Earnings Per Share&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_490_20210101__20211231_zZGyLnlyehR1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49F_20200101__20201231_z5rflwldMre6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Numerator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--NetIncomeLoss_zFxZyDWSm9Tj" style="vertical-align: bottom; background-color: White">
    <td style="width: 60%; text-align: left; padding-bottom: 2.5pt">Net income, as reported</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right">36,658,564</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="width: 2%; padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right">42,478,529</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Denominator</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--WeightedAverageNumberOfBasicSharesOutstanding_z9rDjysXCQjl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Weighted average shares, basic</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">28,874,555</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26,720,133</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_zeyOWIHhGcR" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Dilutive effect of stock options, warrants and RSUs</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,029,131</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,280,208</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z1WOt8gJsnCg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Shares used to compute diluted earnings per share</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">29,903,686</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">28,000,341</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EarningsBasicPerShare_pid_zwjmKUucUBMk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Basic earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.27</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.59</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zu3nZxnifDu1" style="vertical-align: bottom; background-color: White">
    <td>Diluted earnings per share</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.23</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1.52</td><td style="text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674251119368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Option Activity</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMfb86rXn0r7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes option activity during the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BC_z03x74Z7fs93" style="display: none">Schedule of Option Activity&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;&#160;&#160;&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Options</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2019</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20200101__20201231_ztdVRq5N7rE8" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning">2,021,817</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20200101__20201231_zZWf6QXaooHk" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">1.69</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231_zf1NGllhgP23" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">0.83</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20200101__20201231_z59B0Xpb03oc" style="text-align: right" title="Number of Options Outstanding, Granted">150,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_znF4tsjzrcUh" style="text-align: right" title="Weighted Average Exercise Price Granted">8.14</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zWjTCvmZ7Mwk" style="text-align: right" title="Weighted Average Fair Value Granted">4.74</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20200101__20201231_zT3WstzYKuwf" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl0973">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zmP4Yj006WC3" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl0975">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20200101__20201231_z0JCWPwmbCAj" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl0977">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20200101__20201231_zsFbtyYEgiH2" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl0979">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_zLYxE78b8gDf" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl0981">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_zRwwh1Ig0Wc5" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl0983">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20200101__20201231_zHmP1kvljX9b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised">(871,229</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20200101__20201231_zWfbptXIaKW2" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised">1.68</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20200101__20201231_z4PGQSkTTkNc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised">0.89</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20211231_zWqhIAv9C4pk" style="text-align: right" title="Number of Options Outstanding, Beginning">1,300,588</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20210101__20211231_zJAhXB8AAiQ3" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning">2.44</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231_zlFwd1sRp1V2" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning">1.24</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20210101__20211231_zDDDwxugm0vd" style="text-align: right" title="Number of Options Outstanding, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0997">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zjOw7uQYPt3h" style="text-align: right" title="Weighted Average Exercise Price Granted"><span style="-sec-ix-hidden: xdx2ixbrl0999">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_z5RLnB4mfnCi" style="text-align: right" title="Weighted Average Fair Value Granted"><span style="-sec-ix-hidden: xdx2ixbrl1001">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20211231_zwUUtk5ntwy9" style="text-align: right" title="Number of Options Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1003">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zOJoZ0jOMXB7" style="text-align: right" title="Weighted Average Exercise Price Expired"><span style="-sec-ix-hidden: xdx2ixbrl1005">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20210101__20211231_z53mqZjkAmVg" style="text-align: right" title="Weighted Average Fair Value Expired"><span style="-sec-ix-hidden: xdx2ixbrl1007">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20210101__20211231_zegbUITxxHAi" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1009">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_za8NHKjNXDy" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1011">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zpW4uc6RxFL1" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1013">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_988_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20210101__20211231_z13yGKE6Lmmh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised">(189,225</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20210101__20211231_zXTl5utKRtvc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised">2.38</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20210101__20211231_zWUmpRzg3FPl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised">1.12</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20211231_zF3A17QbjeMb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending">1,111,363</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zseBZ53bLYsc" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending">2.12</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231_zbhLRzuALPce" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending">1.31</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_pid_dtY_c20210101__20211231_zugm00qLGxK1" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending">6.62</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Exercisable at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20211231_z3URBBN68syl" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending">1,094,697</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zmeQJBC1ofd4" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending">2.01</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20210101__20211231_zaXDswJXKuHl" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending">1.18</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20211231_zhvOZgXRUVD3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending">6.59</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Fair Value of Options Weighted Average Assumptions</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zuQMSoTypzkk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8B5_zGZYUBOR4y57" style="display: none">Schedule of Fair Value of Options Weighted Average Assumptions</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Risk-free interest rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_uPure_c20210101__20211231_zXvOiKUIXLSg" title="Risk-free interest rate"><span style="-sec-ix-hidden: xdx2ixbrl1049">-</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20200101__20201231_zqFi97nu0QEk" title="Risk-free interest rate">1.05</span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected life (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_c20210101__20211231_z4MN2Gzt3Mq7" title="Expected life (years)"><span style="-sec-ix-hidden: xdx2ixbrl1053">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20200101__20201231_z9SGo41sCH01" title="Expected life (years)">7.3</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;&#160;&#160;&#160;&#160;&#160;&#160;<span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_uPure_c20210101__20211231_z3M9emPm5qn4" title="Expected volatility"><span style="-sec-ix-hidden: xdx2ixbrl1057">-</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20200101__20201231_z7SXVIPxgUl1" title="Expected volatility">62.82</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected dividend yield</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpxL_uPure_c20210101__20211231_z9xxifgwo94f" style="text-align: right" title="Expected dividend yield"><span style="-sec-ix-hidden: xdx2ixbrl1061">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpn_uPure_c20200101__20201231_zhbbCav9JuG2" style="text-align: right" title="Expected dividend yield"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">None</span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of Outstanding Restricted Stock Units and Related Activity</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zdxbdHWLfY52" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#8217;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B7_zSPdVrsBLCA9" style="display: none">Schedule of Outstanding Restricted Stock Units and Related Activity&#160;</span></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of RSUs</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Grant Date Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2019</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKj7oMdvTZS" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"><span style="-sec-ix-hidden: xdx2ixbrl1067">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2KO0l2hhhge" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"><span style="-sec-ix-hidden: xdx2ixbrl1069">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: justify">Granted</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztHOH8AexPU" style="width: 16%; text-align: right" title="Number of Restricted Stock Units, Granted">549,500</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zRD8wDeHFPVg" style="width: 16%; text-align: right" title="Weighted Average Grant Date Fair Value, Granted">10.49</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0d2hrhaDSQ6" style="text-align: right" title="Number of Restricted Stock Units, Vested">(27,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHwkNVsfq80e" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">10.49</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXhA4vanc5Sb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1079">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdpgeWJJSZtc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1081">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2020</span></td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zpIxJz52LHOa" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning">522,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0k7esXOm9I9" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning">10.49</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOcWgmeoo1q7" style="text-align: right" title="Number of Restricted Stock Units, Granted">1,217,500</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0lhzF20z274" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted">9.76</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Vested</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zU59ccI4xKZ7" style="text-align: right" title="Number of Restricted Stock Units, Vested">(438,502</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zj4OBMLUd9i6" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested">10.10</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Forfeited/Cancelled</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8wTTKHzZV6d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled">(34,083</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zfunQIOUTEY9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled">9.91</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Unvested at December 31, 2021</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znJYHW8cebcg" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending">1,267,415</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqEk7mxbcjJ3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending">9.94</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock', window );">Schedule of Warrant Activity</a></td>
<td class="text"><p id="xdx_89D_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zoc3OClcrw9c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes warrant activity during the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zDPlnfi3RWNk" style="display: none">Schedule of Warrant Activity&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Number of Warrants</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Exercise Price</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Fair Value</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Weighted Average Remaining Contractual Life (Years)</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 35%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2019</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20200101__20201231_zgSmBBhNcfH7" style="width: 12%; text-align: right" title="Number of Warrants Outstanding, Beginning">983,535</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20200101__20201231_zTTpPpAxtjFg" style="width: 12%; text-align: right" title="Weighted Average Exercise Price, Beginning">1.44</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20200101__20201231_zhaJPvQ9a8q1" style="width: 12%; text-align: right" title="Weighted Average Fair Value, Beginning">1.03</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 12%; text-align: right">&#160;</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20200101__20201231_zz8Ugk0nrQRl" style="text-align: right" title="Number of Warrants Outstanding, Granted">20,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zSBS8JTaKKuj" style="text-align: right" title="Weighted Average Exercise Price, Granted">1.40</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zYedL0cnZYEk" style="text-align: right" title="Weighted Average Fair Value, Granted">15.19</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20200101__20201231_zHSZza5Q46Gg" style="text-align: right" title="Number of Warrants Outstanding, Expired">(9,090</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Expired">6.00</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Expired">0.17</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20200101__20201231_pdd" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1127">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1129">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1131">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20200101__20201231_zcPYfJXd5BX1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised">(924,445</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised">1.42</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_z9m0ZiGZGdE6" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised">1.43</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2020</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20210101__20211231_z8A0MfXBQMs3" style="text-align: right" title="Number of Warrants Outstanding, Beginning">70,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20211231_zlJurqfxwpL1" style="text-align: right" title="Weighted Average Exercise Price, Beginning">1.83</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20210101__20211231_zFA1Kkjk4hve" style="text-align: right" title="Weighted Average Fair Value, Beginning">5.21</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20200101__20201231_zPqMwsByDKX1" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning">3.3</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Granted</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20210101__20211231_zpEOrU0KXted" style="text-align: right" title="Number of Warrants Outstanding, Granted">456,281</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_z93lk9ynJ1Ra" style="text-align: right" title="Weighted Average Exercise Price, Granted">9.13</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zbwuFdjcDFX7" style="text-align: right" title="Weighted Average Fair Value, Granted">3.83</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">Expired</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20210101__20211231_zI0GvYE0Lli" style="text-align: right" title="Number of Warrants Outstanding, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1153">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zJ3m9g150fRb" style="text-align: right" title="Weighted Average Exercise Price, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1155">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98B_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20210101__20211231_zRryHhVq4t1i" style="text-align: right" title="Weighted Average Fair Value, Expired"><span style="-sec-ix-hidden: xdx2ixbrl1157">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: justify">Forfeited/Cancelled</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20210101__20211231_zxdYOGQuov42" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1159">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_zZeNGQ4VFTl6" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1161">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zLFQmA0k6r43" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"><span style="-sec-ix-hidden: xdx2ixbrl1163">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">Exercised</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20210101__20211231_zB6Hy9h4MgPj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1165">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20211231_zeKmnrt1D1Ac" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1167">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zNJvTxhkQiEl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"><span style="-sec-ix-hidden: xdx2ixbrl1169">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Outstanding at December 31, 2021</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20210101__20211231_zP0tRVtnrDHj" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending">526,281</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_c20210101__20211231_zbzTbWnfSag3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending">8.15</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">$</td><td id="xdx_980_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_c20210101__20211231_zbnXEdStRhzj" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending">4.01</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt; text-align: right"><span id="xdx_90A_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231_z9wk49yHjIt7" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Ending">4.7</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock', window );">Schedule of Fair Value of Warrants Assumptions</a></td>
<td class="text"><p id="xdx_89B_ecustom--ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_zqSOWiYk8mai" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span id="xdx_8B3_zwJgYjTNt9Pe" style="display: none">Schedule of Fair Value of Warrants Assumptions</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Risk-free interest rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zTa8wc1yHAq1" title="Warrants outstanding, measurement input">0.34</span></td><td style="width: 1%; text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected life (years)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90E_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_z5upFdIICx5f" title="Warrants, expected life">5.0</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Expected volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span id="xdx_90A_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputOptionVolatilityMember_zADCevmXEtLj" title="Warrants outstanding, measurement input">61.42</span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Expected dividend yield</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_dn_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedDividendRateMember_zgdrggoMTiy" title="Warrants outstanding, measurement input">None</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock', window );">Schedule of Recognized Stock-based Compensation Expense</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zYppEJUwsZDl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognized stock-based compensation expense related to the types of awards discussed above as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_z4J5iA0u0fxf" style="display: none">Schedule of Recognized Stock-based Compensation Expense&#160;</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_498_20210101__20211231_zT4Hf0hlHu41" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49C_20200101__20201231_zxacGCeS2hB5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Years Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMscvFbk3PUc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Options</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">292,754</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">901,345</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvvTXrYkiacd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Restricted stock units</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,164,750</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">500,861</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z9i08GP7cQDd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Warrants</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1211">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,802</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--StockCompensationPlanMember_zHVTkU2ozsn1" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">51,900</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,032,033</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_zeM83qAn8CVi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt">Total stock-based compensation expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,509,404</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">2,738,041</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of Fair Values Warrants Assumptions [Table text block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 50<br> -Section S99<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6784392&amp;loc=d3e188667-122775<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261557544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components Income Tax Provision</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zTKXUnErz1fa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
components of the provision for income taxes consists of the following for the years ended December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BE_z7Cp1oOGdV0i" style="display: none">Schedule
of Components Income Tax Provision</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20210101__20211231_zShenNxzG1c8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_494_20200101__20201231_z2PbwxMbRZt1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zzWXkxpJ1Uog" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Current:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zM0KfOCi5CIf" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%">Federal</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">6,092,730</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1228">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zVqlAThyPHG1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">886,173</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">637,760</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zOBsNLOVyZB4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total current</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">6,978,903</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">637,760</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zykaTr8BkKGh" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Deferred:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zYzLaIbsrmd6" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Federal</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,394,686</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(452,544</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zztA6NM79arb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">State</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">603,642</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(94,680</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_mtDFSALzrPD_maITEBzvit_z0q8kKyykqu9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">1,998,328</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(547,224</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zP1MFqpfiuT" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Total income tax expense</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,977,231</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">90,536</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>


<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Benefit from Income Taxes and Effective Tax Rates</a></td>
<td class="text"><p id="xdx_899_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zvzNopN7hBW8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B1_zaoIomXFB0K2" style="display: none">Schedule
of Benefit from Income Taxes and Effective Tax Rates</span><span/></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%">
  <tr style="display: none; vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_492_20210101__20211231_z6980I8hDI6g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20200101__20201231_zHgGNEOhd5ol" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">Year Ended December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_zXpdCr0b1Na6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Federal income tax expense at statutory rate</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right">21.0</td><td style="width: 1%; text-align: left">%</td></tr>
  <tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_z43tTiqrxf6a" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">State income tax expense, net of federal tax benefit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.9</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3.3</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zd3FK1leP3Ig" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Permanent differences:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_i01_dp_uPure_z072WVQLRVM3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">- Foreign derived intangible income deduction</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(3.5)</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1.7)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01_dp_uPure_zoaAMt4usOA6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">- Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.2</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(8.8)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_zNUDpmBZLhVd" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">- Other permanent differences</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.3</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(0.4)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_zOXzPfkrL0Ga" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Research and development credits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2.6)</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2.0)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_dp_uPure_ztGJKUAy8S02" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Change in uncertain tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.4</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1.1</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_dp_uPure_zGOC15NIMPec" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Change in valuation allowance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">0.0</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(12.1)</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_zjv7Wy0H8TB2" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1.0)</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(0.2)</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_dp_uPure_z91TLon6B3Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Effective income tax rate</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">19.7</td><td style="padding-bottom: 2.5pt; text-align: left">%</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">&#160;</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.2</td><td style="padding-bottom: 2.5pt; text-align: left">%</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zo7zM9wTTR57" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Net
deferred tax assets consist of the following components as of December 31, 2021 and 2020:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span id="xdx_8BE_zR77eQ2jgJHh" style="display: none">Schedule
of Deferred Tax Assets</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49A_20211231_zRuUXuwIUBOe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_496_20201231_zXG8j3w83SFe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zVed8GQr78j2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax assets:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zUL3t1hIswf8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 60%; text-align: left">Accrued liabilities</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1291">-</span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">37,898</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_zCvfju4P0uDb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Reserves and allowances</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">166,050</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">200,049</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zNaj9KdaNZ34" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">393,871</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">241,652</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_i01I_maDTAGzwm0_z5clgJ7hJoP1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Research and development credits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1300">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">423,001</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_msDITLzwoD_z5ZVNCX4T4kk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">559,921</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">902,600</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zBYs5mvz33Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Deferred tax liabilities:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzcCv_z8VYSyUfNLuj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Property and equipment, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(477,542</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(233,951</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzcCv_zBRpgH0PzwD1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Intangibles, net</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(6,743,972</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1313">&#160;</span></td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzcCv_zdpp1B28ptK2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Prepaids</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(560,093</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(66,456</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzcCv_zogUOEOWEOA5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Other</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(6,758</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(54,969</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_mtDITLzcCv_mtDITLzwoD_zBMEIkuZDu4e" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total deferred tax liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(7,788,365</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(355,376</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net deferred tax assets (liabilities)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--DeferredTaxAssetsOther_iI_c20211231_z7QLOaeDwNB9" style="text-align: right" title="Net deferred tax assets (liabilities)">(7,228,444</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--DeferredTaxAssetsOther_iI_c20201231_zIu00fQcG41j" style="text-align: right" title="Net deferred tax assets (liabilities)">547,224</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DeferredTaxAssetsValuationAllowance_iI_zDUT23wXA6k7" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less valuation allowance</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1328">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left"><span style="-sec-ix-hidden: xdx2ixbrl1329">&#160;</span></td><td style="border-bottom: Black 1.5pt solid; text-align: right">-</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Net deferred tax assets (liabilities)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98F_eus-gaap--DeferredTaxAssetsNet_iNI_di_c20211231_zj9KDJmsXWrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)">(7,228,444</td><td style="padding-bottom: 2.5pt; text-align: left">)</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--DeferredTaxAssetsNet_iI_c20201231_zV3CypcZDxS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)">547,224</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of Unrecognized Tax Benefits</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_z22VrorrMuhf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8B6_za9mSYEJIH0g" style="display: none">Schedule
of Unrecognized Tax Benefits</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="vertical-align: bottom">
    <td>&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="font-weight: bold; text-align: center">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2021</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td><td style="font-weight: bold; padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center">2020</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Unrecognized tax benefits at the beginning of the year</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20210101__20211231_z2rLK0m68jT5" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year">447,831</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_986_eus-gaap--UnrecognizedTaxBenefits_iS_c20200101__20201231_zFX9j6gPsrge" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"><span style="-sec-ix-hidden: xdx2ixbrl1349">-</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross increases - current year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_981_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20210101__20211231_zErnTsgUcFtf" style="text-align: right" title="Gross increases- current year tax positions">770,069</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20200101__20201231_z1SoVnocukT" style="text-align: right" title="Gross increases - current year tax positions">232,145</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gross increases - prior year tax positions</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20210101__20211231_z3OcJzGmbz85" style="text-align: right" title="Gross increases- prior year tax positions"><span style="-sec-ix-hidden: xdx2ixbrl1355">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98F_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20200101__20201231_ztt2M6GbsmF7" style="text-align: right" title="Gross increases - prior year tax positions">215,686</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Gross decreases - prior year tax positions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20210101__20211231_zzOs3EuHtwoa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions">(150,047</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20200101__20201231_zqeqCjL4JRo9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases- prior year tax positions"><span style="-sec-ix-hidden: xdx2ixbrl1361">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Unrecognized tax benefits at end of year</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_981_eus-gaap--UnrecognizedTaxBenefits_iE_c20210101__20211231_zREENLBpF47e" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">1,067,853</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20200101__20201231_zSJpCk3fmkkh" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year">447,831</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 2.5pt">Interest and penalties in year-end balance</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_983_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20210101__20211231_z5sQtFWK2gV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"><span style="-sec-ix-hidden: xdx2ixbrl1367">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20200101__20201231_zZ4KIHyneUth" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalities in year- end balance"><span style="-sec-ix-hidden: xdx2ixbrl1369">-</span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI http://asc.fasb.org/extlink&amp;oid=124434304&amp;loc=d3e36027-109320<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256524952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2021</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of Future Minimum Lease Payments</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zJa74hmiEoC1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;<span id="xdx_8BB_zUcB0xAq46F9" style="display: none">Schedule
of Future Minimum Lease Payments</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td colspan="4" style="border-bottom: Black 1.5pt solid; text-align: justify; font-weight: bold">Year Ending December 31,</td><td style="padding-bottom: 1.5pt; font-weight: bold">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzrRH_ziBMHOHeBkXa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 80%; text-align: justify">2022</td><td style="width: 2%; text-align: left">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">293,595</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzrRH_zP52gnggo36f" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: justify">2023</td><td style="text-align: left">&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">303,059</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPzrRH_zDIGLmTsKza6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify">2024</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">50,774</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzrRH_zrkX3FUZqnFg" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments </span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">647,428</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261071992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 21,508,779<span></span>
</td>
<td class="nump">$ 12,928,633<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Doubtful accounts</a></td>
<td class="nump">669,597<span></span>
</td>
<td class="nump">791,800<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">20,839,182<span></span>
</td>
<td class="nump">12,136,833<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory</a></td>
<td class="nump">2,004,169<span></span>
</td>
<td class="nump">7,995,189<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Inventory finished goods</a></td>
<td class="nump">983,088<span></span>
</td>
<td class="nump">598,881<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Inventory raw materials</a></td>
<td class="nump">1,021,081<span></span>
</td>
<td class="nump">7,396,308<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development costs</a></td>
<td class="nump">$ 14,961,916<span></span>
</td>
<td class="nump">$ 3,185,290<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=CODX_TwoCustomersTogetherMember', window );">Two Customers Together [Member] | Customer Concentration Risk [Member] | Revenue Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">48.00%<span></span>
</td>
<td class="nump">38.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=CODX_TwoCustomersTogetherMember', window );">Two Customers Together [Member] | Customer Concentration Risk [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">66.00%<span></span>
</td>
<td class="nump">48.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life of property</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life of property</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4428-111522<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124259787&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 730<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6472174&amp;loc=d3e58812-109433<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=CODX_TwoCustomersTogetherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=CODX_TwoCustomersTogetherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255197496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Assets and Liabilities assumed (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract', window );"><strong>Business Combination and Asset Acquisition [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions', window );">Stock issued during period, value acquisitions</a></td>
<td class="nump">$ 25,160,223<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_PaymentsToShareHoldersValueAcquisitions', window );">Payable to shareholders</a></td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure', window );">Fair value of contingent shares</a></td>
<td class="nump">8,684,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsNotSettleableInCashFairValueDisclosure', window );">Fair value of contingent warrants</a></td>
<td class="nump">1,747,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Business combination, consideration transferred</a></td>
<td class="nump">35,692,864<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="nump">1,196,243<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivables</a></td>
<td class="nump">31,170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">70,321<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property and equipments</a></td>
<td class="nump">408,173<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities', window );">Research and development in process</a></td>
<td class="nump">26,101,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements', window );">Non competition agreements</a></td>
<td class="nump">1,094,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities', window );">Accounts payable and accrued other expenses</a></td>
<td class="num">(1,069,274)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="num">(6,845,587)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Total indentifiable net assets</a></td>
<td class="nump">20,986,046<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">14,706,818<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Total</a></td>
<td class="nump">$ 35,692,864<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities non competition agreements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_PaymentsToShareHoldersValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments to share holders value acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_PaymentsToShareHoldersValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationAndAssetAcquisitionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationAndAssetAcquisitionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120321790&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=116859721&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents liabilities associated with restructuring or exit activities of the acquiree, existing at the acquisition date (present liabilities of the acquiree).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=123455525&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123413009&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration in a business combination that is classified in shareholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120320667&amp;loc=SL49117168-202975<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued pursuant to acquisitions during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsNotSettleableInCashFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of warrants not settleable in cash classified as equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantsNotSettleableInCashFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254947512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Business Combinations (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Warrants to purchase shares of common stock</a></td>
<td class="nump">456,000<span></span>
</td>
<td class="nump">456,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_PaymentsToShareHoldersValueAcquisitions', window );">Payable to shareholders</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,550,615<span></span>
</td>
<td class="nump">$ 8,278,734<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Finite lived intangible assets remaining amortization period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1', window );">Finite lived intangible assets remaining amortization period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember', window );">Advanced Conceptions, Inc. and Idaho Molecular, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Number of shares exchanged</a></td>
<td class="nump">3,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_StockIssuedDuringPeriodSharesContingentConsideration', window );">Number of shares on contingent consideration</a></td>
<td class="nump">1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Warrants to purchase shares of common stock</a></td>
<td class="nump">456,000<span></span>
</td>
<td class="nump">456,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expense</a></td>
<td class="nump">$ 151,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Equity method investment ownership percentage</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncMember', window );">Advanced Conceptions Inc [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_PaymentsToShareHoldersValueAcquisitions', window );">Payable to shareholders</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_PaymentsToShareHoldersValueAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments to share holders value acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_PaymentsToShareHoldersValueAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_StockIssuedDuringPeriodSharesContingentConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period shares contingent consideration.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_StockIssuedDuringPeriodSharesContingentConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674252948184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Fair Value Assets and Liabilities (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="nump">$ 10,432,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel1Member', window );">Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel2Member', window );">Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Total liabilities measured at fair value</a></td>
<td class="nump">10,432,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="nump">1,255,266<span></span>
</td>
<td class="nump">4,335,446<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (certificates of deposit)</a></td>
<td class="nump">1,255,266<span></span>
</td>
<td class="nump">4,335,446<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosure', window );">Total assets measured at fair value</a></td>
<td class="nump">1,255,266<span></span>
</td>
<td class="nump">4,335,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration common stock</a></td>
<td class="nump">8,684,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration warrants</a></td>
<td class="nump">1,747,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration warrants</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration common stock</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration warrants</a></td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToCommonStock', window );">Contingent consideration common stock</a></td>
<td class="nump">8,684,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_FairValueOfContingentConsiderationToWarrants', window );">Contingent consideration warrants</a></td>
<td class="nump">1,747,972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (certificates of deposit)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (certificates of deposit)</a></td>
<td class="nump">1,255,266<span></span>
</td>
<td class="nump">4,335,446<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember', window );">Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MarketableSecurities', window );">Marketable securities (certificates of deposit)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueOfContingentConsiderationToCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contingent consideration to common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_FairValueOfContingentConsiderationToCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueOfContingentConsiderationToWarrants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of contigent consideration to warrants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_FairValueOfContingentConsiderationToWarrants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in marketable security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_FairValueByFairValueHierarchyLevelAxAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255431960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Changes in Fair Value Measurement (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Asset acquisition contingent consideration liability noncurrent</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ContingentConsideredIssuedForBusinessAcquisitions', window );">Contingent considered issued for business acquisitions</a></td>
<td class="nump">10,432,641<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Asset acquisition contingent consideration liability noncurrent</a></td>
<td class="nump">$ 10,432,641<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ContingentConsideredIssuedForBusinessAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contingent considered issued for business acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ContingentConsideredIssuedForBusinessAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=116859824&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254742600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Contingent Consideration Common Stock and Warrants (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingTerm', window );">Warrants measurement, term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputSharePriceMember', window );">Measurement Input, Share Price [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">8.93<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">8.93<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputStrikePriceMember', window );">Measurement Input Strike Price [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">9.13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember', window );">Measurement Input, Price Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">80.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember', window );">Measurement Input, Risk Free Interest Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants measurement input</a></td>
<td class="nump">1.30<span></span>
</td>
<td class="nump">0.34<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">1.30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember', window );">Measurement Input, Expected Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingTerm', window );">Warrants measurement, term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm', window );">Business combination,contingent consideration, term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputCostOfCapitalMember', window );">Measurement Input Cost of Capital [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">27.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputDiscountRateMember', window );">Measurement Input, Discount Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">9.50<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputEquityVolatilityMember', window );">Measurement Input Equity Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">80.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputAssetVolatilityMember', window );">Measurement Input Asset Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">80.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputRevenueVolatilityMember', window );">Measurement Input Revenue Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput', window );">Business combination,contingent consideration</a></td>
<td class="nump">30.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of input, expected term used to measure contingent consideration liability from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of input used to measure contingent consideration liability from business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of input used to measure outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantsAndRightsOutstandingMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsAndRightsOutstandingTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period between issuance and expiration of outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantsAndRightsOutstandingTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputSharePriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputSharePriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputStrikePriceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputStrikePriceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputPriceVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputCostOfCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputCostOfCapitalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputDiscountRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputDiscountRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputEquityVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputEquityVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputAssetVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputAssetVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputRevenueVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=CODX_MeasurementInputRevenueVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261075512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Property and Equipment (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation</a></td>
<td class="num">$ (622,155)<span></span>
</td>
<td class="num">$ (304,423)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 1,933,216<span></span>
</td>
<td class="nump">949,639<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 2,476,813<span></span>
</td>
<td class="nump">1,212,561<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember', window );">Leaseholds and Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 3,157<span></span>
</td>
<td class="nump">3,157<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 75,401<span></span>
</td>
<td class="nump">$ 38,344<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember', window );">Office Equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment estimated useful lives</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429447&amp;loc=SL124453093-239630<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 852<br> -SubTopic 10<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=84165509&amp;loc=d3e56426-112766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdsAndLeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255288760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Intangible Assets (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Less accumulated amortization</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">$ 27,195,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember', window );">In Process Research and Development [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_IndefiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful lives in years, term</a></td>
<td class="text">Indefinite<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross</a></td>
<td class="nump">$ 26,101,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets, gross</a></td>
<td class="nump">$ 1,094,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful lives in years</a></td>
<td class="text">1 year 6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember', window );">Noncompete Agreements [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful lives in years</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_IndefiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indefinite lived intangible asset useful life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_IndefiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261500760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Future Amortization Expense (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2022</a></td>
<td class="nump">$ 426,660<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2023</a></td>
<td class="nump">364,668<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2024</a></td>
<td class="nump">302,672<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 1,094,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 926<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=120154696&amp;loc=d3e54445-107959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255067288">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Accrued Expenses (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedPayrollTaxesCurrent', window );">Payroll liabilities</a></td>
<td class="nump">$ 2,455,694<span></span>
</td>
<td class="nump">$ 1,627,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalesCommissionCurrent', window );">Distributor commissions</a></td>
<td class="nump">509,500<span></span>
</td>
<td class="nump">1,070,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesAndExciseTaxPayableCurrent', window );">Sales tax payable</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">52,526<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other accrued liabilities</a></td>
<td class="nump">894,458<span></span>
</td>
<td class="nump">99,020<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Total accrued expenses</a></td>
<td class="nump">$ 3,859,652<span></span>
</td>
<td class="nump">$ 2,849,503<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedPayrollTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedPayrollTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalesCommissionCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalesCommissionCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e7018-107765<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesAndExciseTaxPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesAndExciseTaxPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261017704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Revenue by Geographic Area (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 97,885,603<span></span>
</td>
<td class="nump">$ 74,552,758<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AmericasMember', window );">Americas [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 52,185,812<span></span>
</td>
<td class="nump">$ 44,862,751<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AmericasMember', window );">Americas [Member] | Revenue Benchmark [Member] | Geographic Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenue</a></td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">60.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=CODX_RestOfWorldMember', window );">Rest of World [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 45,699,791<span></span>
</td>
<td class="nump">$ 29,690,007<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=CODX_RestOfWorldMember', window );">Rest of World [Member] | Revenue Benchmark [Member] | Geographic Concentration Risk [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Percentage of revenue</a></td>
<td class="nump">47.00%<span></span>
</td>
<td class="nump">40.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13531-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130543-203045<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9054-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 924<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -URI http://asc.fasb.org/extlink&amp;oid=6472922&amp;loc=d3e499488-122856<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AmericasMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AmericasMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=CODX_RestOfWorldMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=CODX_RestOfWorldMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254863016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Deferred Revenue (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue, beginning balance</a></td>
<td class="nump">$ 305,307<span></span>
</td>
<td class="nump">$ 1,323<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized included in deferred revenue balance at the beginning of the period</a></td>
<td class="num">(256,110)<span></span>
</td>
<td class="num">(1,323)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_IncreaseDueToPrepaymentsFromCustomers', window );">Increase due to prepayments from customers</a></td>
<td class="nump">79,213<span></span>
</td>
<td class="nump">305,307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_IncreaseDueToNoteReceivable', window );">Increase due to note receivable</a></td>
<td class="nump">150,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances', window );">Decrease due to refunds to customers and application to open balances</a></td>
<td class="num">(128,410)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue, Ending balance</a></td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="nump">$ 305,307<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Decrease due to refunds to customers and application to open balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_IncreaseDueToNoteReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase due to note receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_IncreaseDueToNoteReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_IncreaseDueToPrepaymentsFromCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase due to prepayments from customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_IncreaseDueToPrepaymentsFromCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674252158936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders&#8217; Equity (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Number of shares issued for exercise of options, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 450,398<span></span>
</td>
<td class="nump">$ 1,460,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits', window );">Vest and restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">438,502<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Issuance of common stock gross proceeds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 19,470,005<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1,457,921<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Potentially dilutive shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">154,644<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=CODX_InvestmentRelationsServicesMember', window );">Investment Relations Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Number of shares issued for services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">83,935<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertiblePreferredStockMember', window );">Convertible Preferred Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Potentially dilutive shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,133,333<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember', window );">Advanced Conceptions, Inc. and Idaho Molecular, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions', window );">Stock Issued During Period, Shares, Acquisitions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,628,554<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_StockIssuedDuringPeriodSharesForfeited', window );">[custom:StockIssuedDuringPeriodSharesForfeited]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,390,430<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Number of common stock issued</a></td>
<td class="nump">3,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=CODX_ThirdPartiesMember', window );">Third Parties [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Number of shares issued for services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=CODX_OptionsMember', window );">Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of shares issued for exercise of options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">189,225<span></span>
</td>
<td class="nump">871,229<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Number of shares issued for exercise of options, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 450,398<span></span>
</td>
<td class="nump">$ 1,460,600<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=CODX_CommonStockThreeMember', window );">Common Stock Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Number of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,448,278<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock purchase price per shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.45<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Issuance of common stock gross proceeds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000,003<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_NetProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,517,102<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 482,901<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=CODX_CommonStockOneMember', window );">Common Stock One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Number of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,324,676<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock purchase price per shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.08<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Issuance of common stock gross proceeds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,240,002<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_NetProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,612,561<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 627,441<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=CODX_CommonStockTwoMember', window );">Common Stock Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Number of common stock issued</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">470,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock purchase price per shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Issuance of common stock gross proceeds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,230,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_NetProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,882,420<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfStockIssuanceCosts', window );">Offering costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 347,580<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of shares issued for exercise of options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">856,660<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Number of shares issued for exercise of options, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 270,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Potentially dilutive shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">456,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_NetProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net proceeds from issuance of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_NetProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_StockIssuedDuringPeriodSharesForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares forfeited during period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_StockIssuedDuringPeriodSharesForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock issued during period shares issued for vest and restricted stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for cost incurred directly with the issuance of an equity security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesAcquisitions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued during the period pursuant to acquisitions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesAcquisitions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=CODX_InvestmentRelationsServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=CODX_InvestmentRelationsServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertiblePreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_ConvertiblePreferredStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=CODX_ThirdPartiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=CODX_ThirdPartiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=CODX_OptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=CODX_OptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=CODX_CommonStockThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=CODX_CommonStockThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=CODX_CommonStockOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=CODX_CommonStockOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=CODX_CommonStockTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=CODX_CommonStockTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255065688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Basic and Diluted Earnings Per Share (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income, as reported</a></td>
<td class="nump">$ 36,658,564<span></span>
</td>
<td class="nump">$ 42,478,529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_WeightedAverageNumberOfBasicSharesOutstanding', window );">Weighted average shares, basic</a></td>
<td class="nump">28,874,555<span></span>
</td>
<td class="nump">26,720,133<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive effect of stock options, warrants and RSUs</a></td>
<td class="nump">1,029,131<span></span>
</td>
<td class="nump">1,280,208<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Shares used to compute diluted earnings per share</a></td>
<td class="nump">29,903,686<span></span>
</td>
<td class="nump">28,000,341<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_EarningsBasicPerShare', window );">Basic earnings per share</a></td>
<td class="nump">$ 1.27<span></span>
</td>
<td class="nump">$ 1.59<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="nump">$ 1.23<span></span>
</td>
<td class="nump">$ 1.52<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_EarningsBasicPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Earnings basic per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_EarningsBasicPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_WeightedAverageNumberOfBasicSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average number of basic shares outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_WeightedAverageNumberOfBasicSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22644-107794<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=125512782&amp;loc=d3e3842-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1337-109256<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=120399700&amp;loc=SL114874048-224260<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22595-107794<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 40<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123482062&amp;loc=SL123482106-238011<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL124452729-227067<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3602-108585<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22499-107794<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123596393&amp;loc=d3e14064-108612<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22583-107794<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=SL5780133-109256<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669619-108580<br><br>Reference 25: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8924-108599<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22694-107794<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109222650&amp;loc=SL51721683-107760<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124509347&amp;loc=SL7669625-108580<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8906-108599<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254972968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">154,644<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember', window );">Common Stock [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Securities excluded from computation of diluted earnings per share</a></td>
<td class="nump">456,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=124432515&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255231864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Option Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options Outstanding, Beginning</a></td>
<td class="nump">1,300,588<span></span>
</td>
<td class="nump">2,021,817<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding, Beginning</a></td>
<td class="nump">$ 2.44<span></span>
</td>
<td class="nump">$ 1.69<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Outstanding, Beginning</a></td>
<td class="nump">$ 1.24<span></span>
</td>
<td class="nump">$ 0.83<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options Outstanding, Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">150,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 8.14<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Granted</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 4.74<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Number of Options Outstanding, Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Number of Options Outstanding, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1', window );">Number of Options Outstanding, Exercised</a></td>
<td class="num">(189,225)<span></span>
</td>
<td class="num">(871,229)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised</a></td>
<td class="nump">$ 2.38<span></span>
</td>
<td class="nump">$ 1.68<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised', window );">Weighted Average Fair Value Exercised</a></td>
<td class="nump">$ 1.12<span></span>
</td>
<td class="nump">$ 0.89<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options Outstanding, Ending</a></td>
<td class="nump">1,111,363<span></span>
</td>
<td class="nump">1,300,588<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding, Ending</a></td>
<td class="nump">$ 2.12<span></span>
</td>
<td class="nump">$ 2.44<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value Outstanding, Ending</a></td>
<td class="nump">$ 1.31<span></span>
</td>
<td class="nump">$ 1.24<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average Remaining Contractual Life (years) Outstanding, Ending</a></td>
<td class="text">6 years 7 months 13 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Options Exercisable Ending</a></td>
<td class="nump">1,094,697<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Exercisable Ending</a></td>
<td class="nump">$ 2.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable', window );">Weighted Average Fair Value, Exercisable Ending</a></td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted-average Remaining Contractual Life (years), Exercisable Ending</a></td>
<td class="text">6 years 7 months 2 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options forfeited.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of options vested.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674261156568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Fair Value of Options Weighted Average Assumptions (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">1.05%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life (years)</a></td>
<td class="text"> <span></span>
</td>
<td class="text">7 years 3 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">62.82%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254959640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Outstanding Restricted Stock Units and Related Activity (Details) - Restricted Stock Units (RSUs) [Member] - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Outstanding Beginning</a></td>
<td class="nump">522,500<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Outstanding Beginning</a></td>
<td class="nump">$ 10.49<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">1,217,500<span></span>
</td>
<td class="nump">549,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Granted</a></td>
<td class="nump">$ 9.76<span></span>
</td>
<td class="nump">$ 10.49<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Number of Restricted Stock Units, Vested</a></td>
<td class="num">(438,502)<span></span>
</td>
<td class="num">(27,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Vested</a></td>
<td class="nump">$ 10.10<span></span>
</td>
<td class="nump">$ 10.49<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Number of Restricted Stock Units, Forfeited/Cancelled</a></td>
<td class="num">(34,083)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Forfeited/Cancelled</a></td>
<td class="nump">$ 9.91<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Outstanding Ending</a></td>
<td class="nump">1,267,415<span></span>
</td>
<td class="nump">522,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value, Outstanding Ending</a></td>
<td class="nump">$ 9.94<span></span>
</td>
<td class="nump">$ 10.49<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254781688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Warrant Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Warrants Outstanding, Beginning</a></td>
<td class="nump">70,000<span></span>
</td>
<td class="nump">983,535<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Beginning</a></td>
<td class="nump">$ 1.83<span></span>
</td>
<td class="nump">$ 1.44<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Beginning</a></td>
<td class="nump">$ 5.21<span></span>
</td>
<td class="nump">$ 1.03<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted', window );">Number of Warrants Outstanding, Granted</a></td>
<td class="nump">456,281<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Granted</a></td>
<td class="nump">$ 9.13<span></span>
</td>
<td class="nump">$ 1.40<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Granted</a></td>
<td class="nump">$ 3.83<span></span>
</td>
<td class="nump">$ 15.19<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations', window );">Number of Warrants Outstanding, Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(9,090)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 6.00<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Expired</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 0.17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures', window );">Number of Warrants Outstanding, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Forfeited/Cancelled</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Number of Warrants Outstanding, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="num">(924,445)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1.42<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 1.43<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 3 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Number of Warrants Outstanding, Ending</a></td>
<td class="nump">526,281<span></span>
</td>
<td class="nump">70,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price, Ending</a></td>
<td class="nump">$ 8.15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue', window );">Weighted Average Fair Value, Ending</a></td>
<td class="nump">$ 4.01<span></span>
</td>
<td class="nump">$ 5.21<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average Remaining Contractual Life (Years) Outstanding, Ending</a></td>
<td class="text">4 years 8 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Fair Value, Exercised.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-based compensation arrangement by share-based payment award, non-option, granted in period, weighted average exercise price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average exercise price, beginning.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the non-option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Exercise Price, Forfeited/Cancelled.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to non-options of the plan that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Exercise Price, Forfeited/Cancelled.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Exercise Price, Granted.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average Remaining Contractual Life (Years) Outstanding, Ending.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Fair Value, Beginning.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted Average Fair Value, Forfeited/Cancelled.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares under non-option equity instrument agreements for which rights to exercise lapsed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of non-option equity instruments granted to participants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of equity instruments other than options outstanding, including both vested and non-vested instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254916600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Fair Value of Warrants Assumptions (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingTerm', window );">Warrants, expected life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember', window );">Measurement Input, Risk Free Interest Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants outstanding, measurement input</a></td>
<td class="nump">1.30<span></span>
</td>
<td class="nump">0.34<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember', window );">Measurement Input, Expected Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingTerm', window );">Warrants, expected life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputOptionVolatilityMember', window );">Measurement Input, Option Volatility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants outstanding, measurement input</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61.42<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedDividendRateMember', window );">Measurement Input, Expected Dividend Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems', window );"><strong>Fair Value Measurement Inputs and Valuation Techniques [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput', window );">Warrants outstanding, measurement input</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsAndRightsOutstandingMeasurementInput">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of input used to measure outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantsAndRightsOutstandingMeasurementInput</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WarrantsAndRightsOutstandingTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period between issuance and expiration of outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (bbb)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123874694&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WarrantsAndRightsOutstandingTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputRiskFreeInterestRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputOptionVolatilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputOptionVolatilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedDividendRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MeasurementInputTypeAxis=us-gaap_MeasurementInputExpectedDividendRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254919784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Recognized Stock-based Compensation Expense (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">$ 5,509,404<span></span>
</td>
<td class="nump">$ 2,738,041<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">303,802<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">292,754<span></span>
</td>
<td class="nump">901,345<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">5,164,750<span></span>
</td>
<td class="nump">500,861<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember', window );">Share-based Payment Arrangement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation expense</a></td>
<td class="nump">$ 51,900<span></span>
</td>
<td class="nump">$ 1,032,033<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_StockCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254743160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ClassOfWarrantExercisable', window );">Warrants exercisable</a></td>
<td class="nump">70,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfWarrantOrRightOutstanding', window );">Warrants purchase</a></td>
<td class="nump">456,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=CODX_ThirdPartiesMember', window );">Third Parties [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Number of shares issued for services</a></td>
<td class="nump">5,548<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember', window );">Warrant [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of options outstanding</a></td>
<td class="nump">$ 497,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=CODX_StockOptionsMember', window );">Stock Options [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</a></td>
<td class="nump">1,300,000<span></span>
</td>
<td class="nump">$ 11,800,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of options outstanding</a></td>
<td class="nump">$ 7,600,000<span></span>
</td>
<td class="nump">7,100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares', window );">Unvested options</a></td>
<td class="nump">16,666<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation</a></td>
<td class="nump">$ 78,115<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized stock-based compensation recognition period</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of warrants exercised</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 9,700,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units (RSUs) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized stock-based compensation</a></td>
<td class="nump">$ 11,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Unrecognized stock-based compensation recognition period</a></td>
<td class="text">2 years 3 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember', window );">Restricted Stock [Member] | Third Parties [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices', window );">Number of shares issued for services</a></td>
<td class="nump">5,548<span></span>
</td>
<td class="nump">83,935<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=CODX_TwoThousandFifteenLongTermIncentivePlanMember', window );">2015 Long Term Incentive Plan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Aggregate number of common shares reserved</a></td>
<td class="nump">6,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of common shares availalble for issuance</a></td>
<td class="nump">2,095,266<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ClassOfWarrantExercisable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Class of warrant exercisable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ClassOfWarrantExercisable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of warrants exercised.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfWarrantOrRightOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of warrants or rights outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfWarrantOrRightOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120381028&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of non-vested options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=CODX_ThirdPartiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=CODX_ThirdPartiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_WarrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=CODX_StockOptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=CODX_StockOptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=CODX_TwoThousandFifteenLongTermIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=CODX_TwoThousandFifteenLongTermIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255053240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Components Income Tax Provision (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Current:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 6,092,730<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">886,173<span></span>
</td>
<td class="nump">637,760<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit', window );">Total current</a></td>
<td class="nump">6,978,903<span></span>
</td>
<td class="nump">637,760<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract', window );"><strong>Deferred:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">1,394,686<span></span>
</td>
<td class="num">(452,544)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">603,642<span></span>
</td>
<td class="num">(94,680)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit', window );">Total deferred</a></td>
<td class="nump">1,998,328<span></span>
</td>
<td class="num">(547,224)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="nump">$ 8,977,231<span></span>
</td>
<td class="nump">$ 90,536<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state, local, and federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state, local, and federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32672-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22663-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123586238&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400993&amp;loc=SL114874131-224263<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124431687&amp;loc=d3e22658-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254784808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal income tax expense at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income tax expense, net of federal tax benefit</a></td>
<td class="nump">3.90%<span></span>
</td>
<td class="nump">3.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract', window );"><strong>Permanent differences:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction', window );">- Foreign derived intangible income deduction</a></td>
<td class="num">(3.50%)<span></span>
</td>
<td class="num">(1.70%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">- Stock based compensation</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="num">(8.80%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">- Other permanent differences</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="num">(0.40%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment', window );">Research and development credits</a></td>
<td class="num">(2.60%)<span></span>
</td>
<td class="num">(2.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance', window );">Change in uncertain tax positions</a></td>
<td class="nump">1.40%<span></span>
</td>
<td class="nump">1.10%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(12.10%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent', window );">Effective income tax rate</a></td>
<td class="nump">19.70%<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation change in valuation allowance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconcilation foreign derived intangible income deduction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>CODX_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120384911&amp;loc=d3e23163-113944<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674252885560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Schedule of Deferred Tax Assets (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 37,898<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Reserves and allowances</a></td>
<td class="nump">166,050<span></span>
</td>
<td class="nump">200,049<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits', window );">Deferred compensation</a></td>
<td class="nump">393,871<span></span>
</td>
<td class="nump">241,652<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Research and development credits</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">423,001<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets</a></td>
<td class="nump">559,921<span></span>
</td>
<td class="nump">902,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Property and equipment, net</a></td>
<td class="num">(477,542)<span></span>
</td>
<td class="num">(233,951)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Intangibles, net</a></td>
<td class="num">(6,743,972)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses', window );">Prepaids</a></td>
<td class="num">(560,093)<span></span>
</td>
<td class="num">(66,456)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="num">(6,758)<span></span>
</td>
<td class="num">(54,969)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="num">(7,788,365)<span></span>
</td>
<td class="num">(355,376)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Net deferred tax assets (liabilities)</a></td>
<td class="num">(7,228,444)<span></span>
</td>
<td class="nump">547,224<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less valuation allowance</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets (liabilities)</a></td>
<td class="num">(7,228,444)<span></span>
</td>
<td class="num">(547,224)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred tax assets (liabilities)</a></td>
<td class="nump">$ 7,228,444<span></span>
</td>
<td class="nump">$ 547,224<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPrepaidExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPrepaidExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255167240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule of Unrecognized Tax Benefits (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits at the beginning of the year</a></td>
<td class="nump">$ 447,831<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross increases - current year tax positions</a></td>
<td class="nump">770,069<span></span>
</td>
<td class="nump">232,145<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Gross increases - prior year tax positions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">215,686<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Gross decreases- prior year tax positions</a></td>
<td class="num">(150,047)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits at end of year</a></td>
<td class="nump">1,067,853<span></span>
</td>
<td class="nump">447,831<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued', window );">Interest and penalities in year- end balance</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=SL37586934-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of statutory penalties accrued for a tax position claimed or expected to be claimed by the entity, in its tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674255393928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carry-forwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Research and development credit carry forwards</a></td>
<td class="nump">$ 423,001<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Deferred tax valuation allowance</a></td>
<td class="nump">5,161,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized tax benefits that would impact effective tax rate</a></td>
<td class="nump">$ 447,831<span></span>
</td>
<td class="nump">$ 1,067,853<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254779064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Related Party Transactions (Details Narrative) - Exclusive License Agreement [Member] - Dr. Brent Satterfield [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 30, 2017</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jan. 01, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems', window );"><strong>Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedRoyaltiesCurrent', window );">Accrued royalties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRoyalties', window );">Payment for royalties per month</a></td>
<td class="nump">$ 10,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent', window );">Due to related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedRoyaltiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6911-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6935-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedRoyaltiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DueToRelatedPartiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(C))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(B))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(3),(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRoyalties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid for royalties during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRoyalties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=CODX_ExclusiveLicenseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TypeOfArrangementAxis=CODX_ExclusiveLicenseAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=CODX_DrBrentSatterfieldMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=CODX_DrBrentSatterfieldMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674254881976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Details Narrative)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>a</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Feb. 29, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Operating lease, term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AreaOfLand', window );">Area of land | a</a></td>
<td class="nump">13,687<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRent', window );">Payments for rent</a></td>
<td class="nump">$ 28,825<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseExpirationDate1', window );">Lease expiration date</a></td>
<td class="text">Feb. 29,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseAndRentalExpense', window );">Rent expenses</a></td>
<td class="nump">$ 346,350<span></span>
</td>
<td class="nump">$ 311,963<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AreaOfLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area of land held.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AreaOfLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:areaItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseAndRentalExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseAndRentalExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date which lease or group of leases is set to expire, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash payments to lessor's for use of assets under operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.22.1</span><table class="report" border="0" cellspacing="2" id="idm140674256514552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events (Details Narrative)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2022 </div>
<div>USD ($)</div>
</th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member] | Common Stock [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Employee stock purchase plan</a></td>
<td class="nump">$ 30.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=120397183&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123467817&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>form10-k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:CODX="http://codiagnostics.com/20211231"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="codx-20211231.xsd" xlink:type="simple"/>
    <context id="From2021-01-01to2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-06-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="AsOf2022-03-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2022-03-23</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:PreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_IPOMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncAndIdahoMolecularIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-12-30</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncAndIdahoMolecularIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_AdvancedConceptionsIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member6328609">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member6328609">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member6328609">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member6328625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member6328625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member6328640">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="CODX:FairValueByFairValueHierarchyLevelAxAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_MeasurementInputStrikePriceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputStrikePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_MeasurementInputPriceVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_MeasurementInputExpectedTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_MeasurementInputCostOfCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputCostOfCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_MeasurementInputDiscountRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputDiscountRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_MeasurementInputEquityVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputEquityVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_MeasurementInputAssetVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputAssetVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_MeasurementInputRevenueVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">CODX:MeasurementInputRevenueVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_EquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_InProcessResearchAndDevelopmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_srt_AmericasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_srt_AmericasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_RestOfWorldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_RestOfWorldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_OptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:OptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_ThirdPartiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">CODX:AdvancedConceptionsIncAndIdahoMolecularIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_CommonStockThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-12-31_custom_CommonStockThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_CommonStockOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-12-31_custom_CommonStockOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_CommonStockTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-12-31_custom_CommonStockTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:CommonStockTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertiblePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_OptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:OptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_InvestmentRelationsServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">CODX:InvestmentRelationsServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_custom_StockOptionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_WarrantMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2019-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_MeasurementInputExpectedTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_MeasurementInputOptionVolatilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputOptionVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-12-31_us-gaap_MeasurementInputExpectedDividendRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedDividendRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_us-gaap_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="From2020-01-012020-12-31_us-gaap_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-01-01</instant>
        </period>
    </context>
    <context id="From2017-01-012017-01-30_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-01-30</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <instant>2020-02-29</instant>
        </period>
    </context>
    <context id="From2022-03-012022-03-31_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Sqft">
        <measure>utr:acre</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2021-01-01to2021-12-31">0001692415</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2021-01-01to2021-12-31">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2021-01-01to2021-12-31">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0069"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Goodwill
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0078"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0081"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0086"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0090"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0107"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0111"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0129"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0132"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DueToRelatedPartiesNoncurrent
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0134"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0143"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0144"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0149"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0150"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0281"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0284"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0291"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0294"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0299"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0302"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0307"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0310"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0318"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0319"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0337"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0338"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0339"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0343"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0349"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0353"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0356"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0361"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0364"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0369"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0372"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0377"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0378"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      id="xdx2ixbrl0379"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0383"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      id="xdx2ixbrl0389"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0436"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl0450"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0460"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl0468"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl0474"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl0492"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0493"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0496"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0505"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="From2021-01-012021-12-31_srt_MinimumMember"
      id="xdx2ixbrl0552">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0642"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0646"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0650"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0654"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member6328609"
      id="xdx2ixbrl0658"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member6328609"
      id="xdx2ixbrl0660"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member6328609"
      id="xdx2ixbrl0666"
      unitRef="USD"
      xsi:nil="true"/>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member6328609"
      id="xdx2ixbrl0668"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel1Member6328625"
      id="xdx2ixbrl0674"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member6328625"
      id="xdx2ixbrl0676"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0682"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0686"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2020-12-31_us-gaap_FairValueInputsLevel1Member"
      id="xdx2ixbrl0690"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2020-12-31_us-gaap_FairValueInputsLevel3Member"
      id="xdx2ixbrl0694"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0700"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2020-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      id="xdx2ixbrl0776"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2020-12-31_us-gaap_NoncompeteAgreementsMember"
      id="xdx2ixbrl0784"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0786"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0788"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl0792"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl0814"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0973"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0975"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0977"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0979"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0981"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl0983"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl0997"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl0999"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1001"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1003"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1005"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1007"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1009"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1011"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1013"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1049"
      unitRef="Pure"
      xsi:nil="true"/>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1053"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1057"
      unitRef="Pure"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1061"
      unitRef="Pure"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="AsOf2019-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl1067"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2019-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl1069"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl1079"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      id="xdx2ixbrl1081"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl1127"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl1129"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl1131"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1153"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1155"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1157"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1159"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1161"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1163"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1165"
      unitRef="Shares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1167"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1169"
      unitRef="USDPShares"
      xsi:nil="true"/>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2021-01-012021-12-31_us-gaap_WarrantMember"
      id="xdx2ixbrl1211"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl1228"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl1291"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl1300"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl1313"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl1328"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl1329"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl1337"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="AsOf2019-12-31"
      id="xdx2ixbrl1349"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2021-01-01to2021-12-31"
      id="xdx2ixbrl1355"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2020-01-012020-12-31"
      id="xdx2ixbrl1361"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued
      contextRef="AsOf2021-12-31"
      id="xdx2ixbrl1367"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued
      contextRef="AsOf2020-12-31"
      id="xdx2ixbrl1369"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:LeaseExpirationDate1 contextRef="From2021-01-01to2021-12-31" id="xdx2ixbrl1387">2024-02-29</us-gaap:LeaseExpirationDate1>
    <dei:DocumentType contextRef="From2021-01-01to2021-12-31">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2021-01-01to2021-12-31">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="From2021-01-01to2021-12-31">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="From2021-01-01to2021-12-31">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2021-01-01to2021-12-31">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2021-01-01to2021-12-31">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2021-01-01to2021-12-31">001-38148</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2021-01-01to2021-12-31">CO-DIAGNOSTICS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2021-01-01to2021-12-31">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2021-01-01to2021-12-31">46-2609396</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2021-01-01to2021-12-31">2401 S. Foothill Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2021-01-01to2021-12-31">Salt Lake City</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2021-01-01to2021-12-31">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2021-01-01to2021-12-31">84109</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2021-01-01to2021-12-31">(801)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2021-01-01to2021-12-31">438-1036</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2021-01-01to2021-12-31">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2021-01-01to2021-12-31">CODX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2021-01-01to2021-12-31">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2021-01-01to2021-12-31">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2021-01-01to2021-12-31">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2021-01-01to2021-12-31">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2021-01-01to2021-12-31">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2021-01-01to2021-12-31">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2021-01-01to2021-12-31">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2021-01-01to2021-12-31">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod contextRef="From2021-01-01to2021-12-31">false</dei:EntityExTransitionPeriod>
    <dei:IcfrAuditorAttestationFlag contextRef="From2021-01-01to2021-12-31">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany contextRef="From2021-01-01to2021-12-31">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="AsOf2021-06-30" decimals="0" unitRef="USD">229000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2022-03-23" decimals="INF" unitRef="Shares">33965318</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorFirmId contextRef="From2021-01-01to2021-12-31">457</dei:AuditorFirmId>
    <dei:AuditorName contextRef="From2021-01-01to2021-12-31">Haynie &amp; Company</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2021-01-01to2021-12-31">Salt Lake City, Utah</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">88607234</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">42976713</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:MarketableSecuritiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1255266</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">4335446</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">20839182</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">12136833</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2004169</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">7995189</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2338444</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">369028</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">75000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">115119295</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">67813209</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1933216</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">949639</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">14706818</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">27195000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:RealEstateInvestmentsJointVentures contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1004953</us-gaap:RealEstateInvestmentsJointVentures>
    <us-gaap:RealEstateInvestmentsJointVentures contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">1927125</us-gaap:RealEstateInvestmentsJointVentures>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">547224</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:AccountsReceivableNetNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">75000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:Assets contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">160034282</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">71237197</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">607506</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">598318</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">3859652</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">2849503</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">120000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">5767304</us-gaap:AssetAcquisitionContingentConsiderationLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2213088</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">189729</us-gaap:TaxesPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">150000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">305307</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">12597550</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">4062857</us-gaap:LiabilitiesCurrent>
    <CODX:TaxesPayableNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1067853</CODX:TaxesPayableNoncurrent>
    <CODX:TaxesPayableNoncurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">447831</CODX:TaxesPayableNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">7228444</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">4665337</us-gaap:AssetAcquisitionContingentConsiderationLiabilityNoncurrent>
    <us-gaap:DueToRelatedPartiesNoncurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">30000</us-gaap:DueToRelatedPartiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">12961634</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">477831</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">25559184</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">4540688</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">33819862</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">33819862</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">28558033</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">28558033</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">33820</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">28558</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">80271999</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">49157236</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">54169279</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">17510715</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">134475098</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">66696509</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">160034282</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">71237197</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">97885603</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">74552758</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">11574944</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">16591346</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">86310659</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">57961412</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">13397813</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">4665113</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">11550615</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">8278734</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">14961916</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">3185290</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">335363</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">138635</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:OperatingExpenses
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">40245707</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">16267772</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">46064952</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">41693640</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeOther
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">45631</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">97215</us-gaap:InterestIncomeOther>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-44355</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-175</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-430433</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">778385</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-429157</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">875425</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">45635795</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">42569065</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">8977231</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">90536</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">36658564</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">42478529</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.27</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.59</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.23</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">28874555</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">26720133</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">29903686</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">28000341</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      decimals="INF"
      unitRef="Shares">25600</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      decimals="0"
      unitRef="USD">26</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2019-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">17342922</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">17343</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">26687701</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2019-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">-24967814</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2019-12-31" decimals="0" unitRef="USD">1737256</us-gaap:StockholdersEquity>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2020-01-012020-12-31_us-gaap_IPOMember"
      decimals="0"
      unitRef="USD">1457922</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">7242954</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">7243</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">18004840</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">18012083</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesOther
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">856660</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">857</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">269143</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">270000</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">871229</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">871</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">1459729</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">1460600</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">110935</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">111</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">2737930</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">2738041</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      decimals="INF"
      unitRef="Shares">-25600</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember"
      decimals="0"
      unitRef="USD">-26</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">2133333</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">2133</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="From2020-01-012020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">-2107</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">42478529</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">42478529</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2020-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">28558033</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">28558</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">49157236</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2020-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">17510715</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">66696509</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">189225</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">189</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">450209</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">450398</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">444050</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">444</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">5508960</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">5509404</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">4628554</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">4629</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-012021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">25155594</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">25160223</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-012021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">36658564</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">36658564</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      unitRef="Shares">33819862</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      unitRef="USD">33820</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      unitRef="USD">80271999</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      unitRef="USD">54169279</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">134475098</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">36658564</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">42478529</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">335363</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">138635</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">5509404</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">2738041</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-430433</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">778385</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-44355</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:GainLossOnDispositionOfAssets1
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-175</us-gaap:GainLossOnDispositionOfAssets1>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">930081</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-547224</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">69672</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">954804</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">8740851</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">12960255</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">2049095</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">6462</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-5705361</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">7915241</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-155307</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">303984</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">2643381</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-299937</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">3758634</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">41081424</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">28165235</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">669463</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">774397</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">9310000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">3080180</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">4974554</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <CODX:PaymentsToAcquireInterestInJointVentures
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-491739</CODX:PaymentsToAcquireInterestInJointVentures>
    <CODX:PaymentsToAcquireInterestInJointVentures
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">714500</CODX:PaymentsToAcquireInterestInJointVentures>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">-1196243</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">4098699</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-5824343</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">19470005</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <CODX:ProceedsFromExerciseOfOptionsAndWarrants
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">450398</CODX:ProceedsFromExerciseOfOptionsAndWarrants>
    <CODX:ProceedsFromExerciseOfOptionsAndWarrants
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">1730599</CODX:ProceedsFromExerciseOfOptionsAndWarrants>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">1457921</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">450398</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">19742683</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">45630521</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">42083575</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">42976713</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2019-12-31" decimals="0" unitRef="USD">893138</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">88607234</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">42976713</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">5403769</us-gaap:IncomeTaxesPaidNet>
    <CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">285659</CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment>
    <CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">117220</CODX:NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">25160223</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">10432641</CODX:FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_803_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zViDTTJzsjn1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
1 &#x2013; &lt;span id="xdx_826_zVZX3WS0IVqh"&gt;Overview and Basis of Presentation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Description
of Business&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 27.35pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Co-Diagnostics,
Inc., a Utah corporation (the &#x201c;Company&#x201d; or &#x201c;CODX&#x201d;), is developing robust and innovative molecular tools
for detection of infectious diseases, liquid biopsy for cancer screening, and agricultural applications. The Company develops, manufactures
and sells reagents used for diagnostic tests that function via the detection and/or analysis of nucleic acid molecules (DNA or RNA).
In connection with the sale of these tests, the Company may sell diagnostic equipment and supplies from other manufacturers.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Use
of Estimates&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates
and assumptions that affect the amounts reported in the financial statements and the accompanying notes. Such estimates include receivables
and other long-lived assets, legal and regulatory contingencies, income taxes, share based arrangements, and others. These estimates
and assumptions are based on management&#x2019;s best estimates and judgments. Actual amounts and results could differ from those estimates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Basis
of Presentation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accompanying audited consolidated financial statements of Co-Diagnostics, Inc. and its wholly owned subsidiaries have been prepared to
reflect the financial position, results of operations and cash flows of the Company and have been prepared in accordance with accounting
principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;). All intercompany balances and transactions have been
eliminated.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_806_eus-gaap--SignificantAccountingPoliciesTextBlock_zZvbhRl4Iz1e" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
2 &#x2013; &lt;span id="xdx_821_zU6BuBbOGXhg"&gt;Summary of Significant Accounting Policies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span&gt;&#160;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span/&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zi8aFsvzRVve" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_868_zAoIg8kWVcdk"&gt;Reclassifications&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
prior year amounts have been reclassified to conform with the current year&#x2019;s presentation. These reclassifications have no impact
on the previously reported results.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_849_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zAEuygpiqKti" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_ziYlQl5jWyil"&gt;Cash
and Cash Equivalents&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2021 and December
31, 2020. &lt;span style="background-color: white"&gt;The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--MarketableSecuritiesPolicy_zEkaO0DuWUV1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_z8zyii7eq2Dg"&gt;Marketable
Investment Securities&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s marketable investment securities are comprised of investments in certificates of deposit. The Company determines the
appropriate classification of its marketable investment securities at the time of purchase and reevaluates such designation at each balance
sheet date. The Company has classified and accounted for its marketable investment securities as available-for-sale securities as the
Company may sell these securities at any time for use in its current operations or for other purposes, even prior to maturity. &lt;span style="background-color: white"&gt;As
a result, the Company classifies its marketable investment securities, including securities with stated maturities beyond twelve months,
within current assets in the consolidated balance sheets. Any unrealized gains or losses are immaterial.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84E_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zL1H9FQgXxu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86F_zS9Rdy5AqzQ4"&gt;Accounts
Receivable&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#x2019; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2021 total accounts receivable was $&lt;span id="xdx_901_eus-gaap--AccountsReceivableGrossCurrent_iI_c20211231_zOAQgcFKeBYb" title="Accounts receivable"&gt;21,508,779&lt;/span&gt; with an allowance for uncollectable
accounts of $&lt;span id="xdx_900_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20211231_zImDyFlHgufj" title="Doubtful accounts"&gt;669,597&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_908_eus-gaap--AccountsReceivableNetCurrent_iI_c20211231_z7PGGylXtnzf" title="Accounts receivable, net"&gt;20,839,182&lt;/span&gt;. At December 31, 2020 total accounts receivable was $&lt;span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20201231_z4a7LOTJeLE7" title="Accounts receivable"&gt;12,928,633&lt;/span&gt; with an
allowance for uncollectable accounts of $&lt;span id="xdx_905_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20201231_zCx8z6rWx1a7" title="Doubtful accounts"&gt;791,800&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20201231_zXZfHRrSF902" title="Accounts receivable, net"&gt;12,136,833&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84D_eus-gaap--EquityMethodInvestmentsPolicy_ztbBNvBVoR8j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86E_zFn8BCB5naEa"&gt;Equity-Method
Investments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--InventoryPolicyTextBlock_zJSxdKriX1Ci" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_866_zWipfv52qduc"&gt;Inventory&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2021, the Company had $&lt;span id="xdx_903_eus-gaap--InventoryNet_iI_c20211231_zV3jP1EBL2Mb" title="Inventory"&gt;2,004,169&lt;/span&gt; in inventory, of which $&lt;span id="xdx_90F_eus-gaap--InventoryFinishedGoods_iI_c20211231_zNGFDafzIySh" title="Inventory finished goods"&gt;983,088&lt;/span&gt; was
finished goods and $&lt;span id="xdx_905_eus-gaap--InventoryRawMaterials_iI_c20211231_zRZL4rZ6qlq8" title="Inventory raw materials"&gt;1,021,081&lt;/span&gt; was raw materials. At December 31, 2020, the Company had $&lt;span id="xdx_902_eus-gaap--InventoryNet_iI_pp0p0_c20201231_zkIsHkOENCVj" title="Inventory"&gt;7,995,189&lt;/span&gt; in inventory, of which $&lt;span id="xdx_904_eus-gaap--InventoryFinishedGoods_iI_c20201231_zhhvjQt001Tl" title="Inventory finished goods"&gt;598,881&lt;/span&gt; was
finished goods and $&lt;span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20201231_zQytWTMDTJh1" title="Inventory raw materials"&gt;7,396,308&lt;/span&gt; was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zyNrfAjMIfzd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_860_zYPmYxw5nTv"&gt;Property
and Equipment&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is provided using the straight-line method
over the estimated useful lives of the property, generally from &lt;span id="xdx_909_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtYxL_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_za0xhBcz5AD5" title="Estimated useful life of property::XDX::P3Y"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0552"&gt;three&lt;/span&gt;&lt;/span&gt; to &lt;span id="xdx_907_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dc_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zUqkJ543Nmrc" title="Estimated useful life of property"&gt;five years&lt;/span&gt;. Repairs and maintenance costs are expensed as incurred
except when such repairs significantly add to the useful life or productive capacity of the asset, in which case the repairs are capitalized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company reviews its long-lived assets, including property and equipment, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_846_eus-gaap--BusinessCombinationsPolicy_zTCL6gqF6Rp" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86C_zcbUrRrw8YHd"&gt;Business
Combinations&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;We
estimate the fair value of assets acquired and liabilities assumed in a business combination. Goodwill as of the acquisition date is
measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities
assumed. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets.
Management&#x2019;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and
unpredictable, and as a result, actual results may differ from estimates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84F_eus-gaap--RevenueRecognitionPolicyTextBlock_z3JAUr1XuWyc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_864_zganBGX8MqZ"&gt;Revenue
Recognition&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zsoZvNpjt0Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86F_z0uMxqmiKJ93"&gt;Deferred
Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_845_eus-gaap--ResearchAndDevelopmentExpensePolicy_ztREKtIsiORl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_z8fievGR2Eid"&gt;Research
and Development&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Research
and development costs are expensed when incurred. The Company expensed $&lt;span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20210101__20211231_zD31grYExex" title="Research and development costs"&gt;14,961,916&lt;/span&gt; and $&lt;span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20200101__20201231_zgepmEXfZlw2" title="Research and development costs"&gt;3,185,290&lt;/span&gt; of research and development costs for
the years ended December 31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zp8VINkOnaL4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_zfB04oP1hJfg"&gt;Stock-based
Compensation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#x201c;RSUs&#x201d;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. &lt;span style="background-color: white"&gt;When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zTeCsQ39ZPFe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_866_zP3LKUDC7qK8"&gt;Income
Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. While the Company believes it has no significant uncertain income
tax positions in the consolidated financial statements, adverse determinations by these taxing authorities could have a material adverse
effect on the consolidated financial positions, result of operations, or cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_84C_eus-gaap--EarningsPerSharePolicyTextBlock_zayB3iewlqZh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_zJfGUtsg9uCh"&gt;Net
Income per Share&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_zYmv9p6Ni7H6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zqsZadBcpIh"&gt;Concentrations
Risk and Significant Customers&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company had certain customers which are each responsible for generating 10% or more of the total revenue for the years ended December
31, 2021 and 2020. Two customers together accounted for approximately &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_zXaRhfoyQkEg" title="Concentration risk percentage"&gt;48&lt;/span&gt;% and &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_z1BK5OEfUokd" title="Concentration risk percentage"&gt;38&lt;/span&gt;% of total revenue for the years ended December 31, 2021
and 2020, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Two
customers each accounted for more than 10% of accounts receivable at December 31, 2021 and 2020. These two customers together accounted
for approximately &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z1A6UaIYLXXj" title="Concentration risk percentage"&gt;66&lt;/span&gt;% and &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zJm7LCpDZZgi" title="Concentration risk percentage"&gt;48&lt;/span&gt;% of accounts receivable at December 31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zqf5gUrlXHAe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zmlRakIHjUGl"&gt;Recently
Issued Accounting Standards&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#x2019;s financial statements upon adoption.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
an emerging growth company (&#x201c;EGC&#x201d;), the Company has elected to take advantage of the benefits of the extended transition
period provided for in Section 7(a)(2)(B) of the Securities Act of 1933, as amended, for complying with new or revised accounting standards
which allows the Company to defer adoption of certain accounting standards until those standards would otherwise apply to private companies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
February 2016, the FASB issued ASU No. 2016-02, Leases (Topic 842), which requires recognition of leased assets and liabilities on the
balance sheet and disclosing key information about leasing arrangements. This update is effective for annual periods and interim periods
with those periods beginning after December 15, 2021, for public EGC companies like us. The Company will use the modified retrospective
transition method with the option to recognize a cumulative-effect adjustment at the date of adoption. The Company&#x2019;s balance
sheet will be impacted as it records right-of-use assets and lease liabilities on its consolidated balance sheets, but the Company
does not expect the adoption of this standard will have a material impact on its consolidated statements of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326) (&#x201c;ASU 2016-13&#x201d;), which requires
the measurement and recognition of expected credit losses for certain financial instruments, which includes the Company&#x2019;s accounts
receivable. ASU 2016-13 replaces the existing incurred loss impairment model with an expected loss methodology, which will result in
more timely recognition of credit losses. The update is effective for annual periods and interim periods with those periods beginning
after December 15, 2021, for public EGC companies. The standard requires a cumulative effect adjustment to the balance sheet as of the
beginning of the first early reporting period in which the guidance is effective. The Company is evaluating the impact of the adoption
of ASU 2016-13 on its consolidated financial statements but does not expect the adoption of this standard will have a material impact
on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84B_eus-gaap--PriorPeriodReclassificationAdjustmentDescription_zi8aFsvzRVve" style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_868_zAoIg8kWVcdk"&gt;Reclassifications&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
prior year amounts have been reclassified to conform with the current year&#x2019;s presentation. These reclassifications have no impact
on the previously reported results.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_849_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zAEuygpiqKti" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_ziYlQl5jWyil"&gt;Cash
and Cash Equivalents&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Cash
and cash equivalents consist of cash on hand, money market funds and highly liquid investments with an original maturity date of 90 days
or less from the date of purchase. The fair value of cash equivalents approximated their carrying value as of December 31, 2021 and December
31, 2020. &lt;span style="background-color: white"&gt;The Company has its cash and cash equivalents with a large creditworthy financial institution
and the balance exceeded federally insured limits. The Company has not experienced any losses in such accounts, and management believes
the Company is not exposed to any significant credit risk on cash and cash equivalents.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:MarketableSecuritiesPolicy contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_846_eus-gaap--MarketableSecuritiesPolicy_zEkaO0DuWUV1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86D_z8zyii7eq2Dg"&gt;Marketable
Investment Securities&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s marketable investment securities are comprised of investments in certificates of deposit. The Company determines the
appropriate classification of its marketable investment securities at the time of purchase and reevaluates such designation at each balance
sheet date. The Company has classified and accounted for its marketable investment securities as available-for-sale securities as the
Company may sell these securities at any time for use in its current operations or for other purposes, even prior to maturity. &lt;span style="background-color: white"&gt;As
a result, the Company classifies its marketable investment securities, including securities with stated maturities beyond twelve months,
within current assets in the consolidated balance sheets. Any unrealized gains or losses are immaterial.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84E_eus-gaap--TradeAndOtherAccountsReceivablePolicy_zL1H9FQgXxu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86F_zS9Rdy5AqzQ4"&gt;Accounts
Receivable&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Trade
accounts receivable are recorded at the invoiced amount (net of allowance) and do not bear interest. The Company maintains an allowance
for doubtful accounts for amounts the Company does not expect to collect. In establishing the required allowance, management considers
historical losses, current market condition, customers&#x2019; financial condition, the age of receivables, and current payment patterns.
Account balances are written off against the allowance once the receivable is deemed uncollectible. Recoveries of trade receivables previously
written off are recorded when collected. At December 31, 2021 total accounts receivable was $&lt;span id="xdx_901_eus-gaap--AccountsReceivableGrossCurrent_iI_c20211231_zOAQgcFKeBYb" title="Accounts receivable"&gt;21,508,779&lt;/span&gt; with an allowance for uncollectable
accounts of $&lt;span id="xdx_900_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20211231_zImDyFlHgufj" title="Doubtful accounts"&gt;669,597&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_908_eus-gaap--AccountsReceivableNetCurrent_iI_c20211231_z7PGGylXtnzf" title="Accounts receivable, net"&gt;20,839,182&lt;/span&gt;. At December 31, 2020 total accounts receivable was $&lt;span id="xdx_905_eus-gaap--AccountsReceivableGrossCurrent_iI_c20201231_z4a7LOTJeLE7" title="Accounts receivable"&gt;12,928,633&lt;/span&gt; with an
allowance for uncollectable accounts of $&lt;span id="xdx_905_eus-gaap--AllowanceForDoubtfulAccountsReceivableCurrent_iI_c20201231_zCx8z6rWx1a7" title="Doubtful accounts"&gt;791,800&lt;/span&gt; resulting in a net amount of $&lt;span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20201231_zXZfHRrSF902" title="Accounts receivable, net"&gt;12,136,833&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">21508779</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">669597</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">20839182</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">12928633</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">791800</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">12136833</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84D_eus-gaap--EquityMethodInvestmentsPolicy_ztbBNvBVoR8j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86E_zFn8BCB5naEa"&gt;Equity-Method
Investments&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Our
equity method investments are initially recorded at cost and are included in other long-term assets in the accompanying consolidated
balance sheet. We adjust the carrying value of our investment based on our share of the earnings or losses in the periods which they
are reported by the investee until the carrying amount is zero. The earnings or losses are included in other income (expense) in the
accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84F_eus-gaap--InventoryPolicyTextBlock_zJSxdKriX1Ci" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_866_zWipfv52qduc"&gt;Inventory&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Inventory
is stated at the lower of cost or net-realizable value. Inventory cost is determined on a first-in first-out basis that approximates
average cost in accordance with ASC 330-10-30-12. At December 31, 2021, the Company had $&lt;span id="xdx_903_eus-gaap--InventoryNet_iI_c20211231_zV3jP1EBL2Mb" title="Inventory"&gt;2,004,169&lt;/span&gt; in inventory, of which $&lt;span id="xdx_90F_eus-gaap--InventoryFinishedGoods_iI_c20211231_zNGFDafzIySh" title="Inventory finished goods"&gt;983,088&lt;/span&gt; was
finished goods and $&lt;span id="xdx_905_eus-gaap--InventoryRawMaterials_iI_c20211231_zRZL4rZ6qlq8" title="Inventory raw materials"&gt;1,021,081&lt;/span&gt; was raw materials. At December 31, 2020, the Company had $&lt;span id="xdx_902_eus-gaap--InventoryNet_iI_pp0p0_c20201231_zkIsHkOENCVj" title="Inventory"&gt;7,995,189&lt;/span&gt; in inventory, of which $&lt;span id="xdx_904_eus-gaap--InventoryFinishedGoods_iI_c20201231_zhhvjQt001Tl" title="Inventory finished goods"&gt;598,881&lt;/span&gt; was
finished goods and $&lt;span id="xdx_901_eus-gaap--InventoryRawMaterials_iI_c20201231_zQytWTMDTJh1" title="Inventory raw materials"&gt;7,396,308&lt;/span&gt; was raw materials. The Company establishes reserves to reduce low-moving, obsolete, or unusable inventories
to their estimated useful or scrap values.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:InventoryNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2004169</us-gaap:InventoryNet>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">983088</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1021081</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryNet contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">7995189</us-gaap:InventoryNet>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">598881</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">7396308</us-gaap:InventoryRawMaterials>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_846_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zyNrfAjMIfzd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_860_zYPmYxw5nTv"&gt;Property
and Equipment&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment are stated at cost less accumulated depreciation and amortization. Depreciation is provided using the straight-line method
over the estimated useful lives of the property, generally from &lt;span id="xdx_909_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtYxL_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_za0xhBcz5AD5" title="Estimated useful life of property::XDX::P3Y"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0552"&gt;three&lt;/span&gt;&lt;/span&gt; to &lt;span id="xdx_907_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dc_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zUqkJ543Nmrc" title="Estimated useful life of property"&gt;five years&lt;/span&gt;. Repairs and maintenance costs are expensed as incurred
except when such repairs significantly add to the useful life or productive capacity of the asset, in which case the repairs are capitalized.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company reviews its long-lived assets, including property and equipment, for impairment whenever an event or change in facts and circumstances
indicates that their carrying amounts may not be recoverable. Recoverability of these assets is measured by comparing the carrying amount
to the estimated undiscounted future cash flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows,
the assets are determined to be impaired and an impairment charge is recognized as the amount by which the carrying amount exceeds fair
value.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-012021-12-31_srt_MaximumMember">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:BusinessCombinationsPolicy contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_846_eus-gaap--BusinessCombinationsPolicy_zTCL6gqF6Rp" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86C_zcbUrRrw8YHd"&gt;Business
Combinations&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;We
estimate the fair value of assets acquired and liabilities assumed in a business combination. Goodwill as of the acquisition date is
measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities
assumed. Such valuations require management to make significant estimates and assumptions, especially with respect to intangible assets.
Management&#x2019;s estimates of fair value are based upon assumptions believed to be reasonable, but which are inherently uncertain and
unpredictable, and as a result, actual results may differ from estimates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84F_eus-gaap--RevenueRecognitionPolicyTextBlock_z3JAUr1XuWyc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_864_zganBGX8MqZ"&gt;Revenue
Recognition&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue from product sales and license sales. The Company recognizes revenue when all of the following criteria are
satisfied: (i) identification of the promised goods or services in the contract; (ii) determination of whether the promised goods or
services are performance obligations, including whether they are distinct in the context of the contract; (iii) measurement of the transaction
price, including the constraint on variable consideration; (iv) allocation of the transaction price to the performance obligations; and
(v) recognition of revenue when, or as the Company satisfies each performance obligation. Based on the criteria above, the Company typically
recognizes revenue upon delivery.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company constrains revenue by giving consideration to factors that could otherwise lead to a probable reversal of revenue. The Company
records any payments received from customers prior to the Company fulfilling its performance obligation(s) as deferred revenue.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84C_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zsoZvNpjt0Bg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86F_z0uMxqmiKJ93"&gt;Deferred
Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenue primarily consists of payments received from customers prior to the Company fulfilling its performance obligation of providing
the product. When this occurs, the Company records a contract liability as deferred revenue. Deferred revenue is recognized as revenue
as the related performance obligations are satisfied.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_845_eus-gaap--ResearchAndDevelopmentExpensePolicy_ztREKtIsiORl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_863_z8fievGR2Eid"&gt;Research
and Development&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Research
and development costs are expensed when incurred. The Company expensed $&lt;span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20210101__20211231_zD31grYExex" title="Research and development costs"&gt;14,961,916&lt;/span&gt; and $&lt;span id="xdx_904_eus-gaap--ResearchAndDevelopmentExpense_c20200101__20201231_zgepmEXfZlw2" title="Research and development costs"&gt;3,185,290&lt;/span&gt; of research and development costs for
the years ended December 31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">14961916</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">3185290</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84B_eus-gaap--ShareBasedCompensationOptionAndIncentivePlansPolicy_zp8VINkOnaL4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_zfB04oP1hJfg"&gt;Stock-based
Compensation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has granted stock-based awards, including restricted stock, stock options, stock warrants and restricted stock units (&#x201c;RSUs&#x201d;),
to its employees, certain consultants and members of its board of directors. The Company records stock-based compensation based on the
grant date fair value of the awards and recognizes the fair value of those awards as expense using the straight-line method over the
requisite service period of the award. The Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing
model. &lt;span style="background-color: white"&gt;When an award is forfeited prior to the vesting date, the Company recognizes an adjustment
for the previously recognized expense in the period of the forfeiture.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84A_eus-gaap--IncomeTaxPolicyTextBlock_zTeCsQ39ZPFe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_866_zP3LKUDC7qK8"&gt;Income
Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company accounts for income taxes in accordance with the liability method of accounting for income taxes. Under this method, d&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;eferred
income tax assets and deferred income tax liabilities represent the tax effect of temporary differences between financial reporting and
tax reporting measured at enacted tax rates in effect for the year in which the differences are expected to reverse. The Company recognizes
only the impact of tax positions that, based on their technical merits, are more likely than not to be sustained upon an audit by the
taxing authority.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Valuation
allowances are provided when it is more-likely-than-not that some or all of the deferred income tax assets may not be realized. In assessing
the need for a valuation allowance, the Company has considered its historical levels of income, expectations of future taxable income
and ongoing tax planning strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 35.65pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Developing
the provision for income taxes, including the effective tax rate and analysis of potential tax exposure items, if any, requires significant
judgment and expertise in federal and state income tax laws, regulations and strategies, including the determination of deferred income
tax assets and liabilities and any estimated valuation allowances deemed necessary to value deferred income tax assets. Judgments and
tax strategies are subject to audit by various taxing authorities. While the Company believes it has no significant uncertain income
tax positions in the consolidated financial statements, adverse determinations by these taxing authorities could have a material adverse
effect on the consolidated financial positions, result of operations, or cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_84C_eus-gaap--EarningsPerSharePolicyTextBlock_zayB3iewlqZh" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_86A_zJfGUtsg9uCh"&gt;Net
Income per Share&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
net income or loss per common share is computed by dividing net income or loss applicable to common shareholders by the weighted average
number of shares outstanding during each period.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Diluted
net income or loss per share is computed by dividing net income or loss attributable to common stockholders by the weighted-average number
of shares of common stock outstanding during the period increased by common shares that could be issued upon conversion or exercise of
other outstanding securities to the extent those additional common shares would be dilutive. The dilutive effect of potentially dilutive
securities is reflected in diluted net income or loss per share by application of the treasury stock method. During periods when the
Company is in a net loss position, basic net loss per share is the same as diluted net loss per share as the effects of potentially dilutive
securities are anti-dilutive&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_843_eus-gaap--ConcentrationRiskCreditRisk_zYmv9p6Ni7H6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zqsZadBcpIh"&gt;Concentrations
Risk and Significant Customers&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;The
Company had certain customers which are each responsible for generating 10% or more of the total revenue for the years ended December
31, 2021 and 2020. Two customers together accounted for approximately &lt;span id="xdx_90B_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_zXaRhfoyQkEg" title="Concentration risk percentage"&gt;48&lt;/span&gt;% and &lt;span id="xdx_90C_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember_z1BK5OEfUokd" title="Concentration risk percentage"&gt;38&lt;/span&gt;% of total revenue for the years ended December 31, 2021
and 2020, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;Two
customers each accounted for more than 10% of accounts receivable at December 31, 2021 and 2020. These two customers together accounted
for approximately &lt;span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z1A6UaIYLXXj" title="Concentration risk percentage"&gt;66&lt;/span&gt;% and &lt;span id="xdx_902_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--MajorCustomersAxis__custom--TwoCustomersTogetherMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zJm7LCpDZZgi" title="Concentration risk percentage"&gt;48&lt;/span&gt;% of accounts receivable at December 31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      unitRef="Pure">0.48</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      unitRef="Pure">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.66</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2020-01-012020-12-31_custom_TwoCustomersTogetherMember_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      unitRef="Pure">0.48</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_847_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zqf5gUrlXHAe" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&lt;span id="xdx_862_zmlRakIHjUGl"&gt;Recently
Issued Accounting Standards&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
time to time, new accounting pronouncements are issued by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) that are adopted
by the Company as of the specified effective date. If not discussed, management believes that the impact of recently issued standards,
which are not yet effective, will not have a material impact on the Company&#x2019;s financial statements upon adoption.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
an emerging growth company (&#x201c;EGC&#x201d;), the Company has elected to take advantage of the benefits of the extended transition
period provided for in Section 7(a)(2)(B) of the Securities Act of 1933, as amended, for complying with new or revised accounting standards
which allows the Company to defer adoption of certain accounting standards until those standards would otherwise apply to private companies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
February 2016, the FASB issued ASU No. 2016-02, Leases (Topic 842), which requires recognition of leased assets and liabilities on the
balance sheet and disclosing key information about leasing arrangements. This update is effective for annual periods and interim periods
with those periods beginning after December 15, 2021, for public EGC companies like us. The Company will use the modified retrospective
transition method with the option to recognize a cumulative-effect adjustment at the date of adoption. The Company&#x2019;s balance
sheet will be impacted as it records right-of-use assets and lease liabilities on its consolidated balance sheets, but the Company
does not expect the adoption of this standard will have a material impact on its consolidated statements of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
June 2016, the FASB issued ASU No. 2016-13, Financial Instruments-Credit Losses (Topic 326) (&#x201c;ASU 2016-13&#x201d;), which requires
the measurement and recognition of expected credit losses for certain financial instruments, which includes the Company&#x2019;s accounts
receivable. ASU 2016-13 replaces the existing incurred loss impairment model with an expected loss methodology, which will result in
more timely recognition of credit losses. The update is effective for annual periods and interim periods with those periods beginning
after December 15, 2021, for public EGC companies. The standard requires a cumulative effect adjustment to the balance sheet as of the
beginning of the first early reporting period in which the guidance is effective. The Company is evaluating the impact of the adoption
of ASU 2016-13 on its consolidated financial statements but does not expect the adoption of this standard will have a material impact
on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_801_eus-gaap--BusinessCombinationDisclosureTextBlock_zg4dAP4st03c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
3 &#x2013; &lt;span id="xdx_828_zSijg2TlSQJj"&gt;Business Combinations&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;On
December 31, 2021, the Company completed its acquisition of Advanced Conceptions, Inc. (&#x201c;ACI&#x201d;) and Idaho Molecular Inc. (&#x201c;IdMo&#x201d;),
which were related entities developing, with the Company, an at-home/point-of-care medical diagnostic device. Upon the completion of
the acquisition, all outstanding ACI and Idaho Molecular common stock was exchanged for approximately &lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pn5n6_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zyJnNDdWy6gj" title="Number of shares exchanged"&gt;3.2
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;million shares of the Company&#x2019;s common
stock and contingent consideration that includes up to approximately &lt;span id="xdx_905_ecustom--StockIssuedDuringPeriodSharesContingentConsideration_pn5n6_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zEwYAOgdY56h" title="Number of shares on contingent consideration"&gt;1.4
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;million shares and approximately &lt;span id="xdx_90A_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zIGTs6YST2wi" title="Warrants to purchase shares of common stock"&gt;456,000
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;warrants to purchase shares of the Company&#x2019;s
common stock. The contingent consideration is based on the achievement of certain milestones, which include regulatory approval for identified
products, as well as production and net revenue targets. The purchase consideration also includes a payable to a shareholder of ACI of
$&lt;span id="xdx_90A_ecustom--PaymentsToShareHoldersValueAcquisitions_pp0p0_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncMember_zl1KWMGqaIrb" title="Payable to shareholders"&gt;100,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.
In connection with the acquisition, the Company incurred transaction costs of approximately $&lt;span id="xdx_902_eus-gaap--GeneralAndAdministrativeExpense_c20211230__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zKMIc0OgmdF1" title="General and administrative expense"&gt;151,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;,
which is included in general and administrative expenses. Upon the completion of the acquisition, both ACI and IdMo became &lt;span id="xdx_907_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_dp_uPure_c20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zmv1xruS6QLc" style="font: 10pt Times New Roman, Times, Serif" title="Equity method investment ownership percentage"&gt;100&lt;/span&gt;%
wholly-owned subsidiaries of the Company&lt;/span&gt;.&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zMyaT089AjJl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of assets acquired and liabilities assumed was based on a preliminary valuation, and our estimates and assumptions are subject
to change within the measurement period. The primary area that remains preliminary relates to the evaluation of certain tax-related items
and potential minor adjustments to the purchase consideration. The total purchase consideration was allocated to the assets acquired
and liabilities assumed as set forth below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zeoPe8gqz1z8" style="display: none"&gt;Schedule
of Assets and Liabilities assumed&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 80%"&gt;Fair value of common shares issued&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_c20210101__20211231_zSIcX0lehjo7" style="width: 16%; text-align: right" title="Stock issued during period, value acquisitions"&gt;25,160,223&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Payable to shareholder&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--PaymentsToShareHoldersValueAcquisitions_c20210101__20211231_zi5fQ801MlCl" style="text-align: right" title="Payable to shareholders"&gt;100,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Fair value of contingent shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ContingentConsiderationClassifiedAsEquityFairValueDisclosure_iI_c20211231_zbGT0x0sHfO6" style="text-align: right" title="Fair value of contingent shares"&gt;8,684,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Fair value of contingent warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--WarrantsNotSettleableInCashFairValueDisclosure_iI_c20211231_zg5LBND20pgi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair value of contingent warrants"&gt;1,747,972&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total fair value of consideration transferred&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--BusinessCombinationConsiderationTransferred1_c20210101__20211231_zqy6Oz1sPUT8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Business combination, consideration transferred"&gt;35,692,864&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Identifiable assets acquired and liabilities assumed&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Cash&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_c20211231_zGNojNKtPf72" style="text-align: right" title="Cash"&gt;1,196,243&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_c20211231_ze2sYQxhW1ke" style="text-align: right" title="Accounts receivables"&gt;31,170&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Prepaid expenses and other current assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_c20211231_zGXKFTbAYHW7" style="text-align: right" title="Prepaid expenses and other current assets"&gt;70,321&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_c20211231_zi1OLYEu7oh7" style="text-align: right" title="Property and equipments"&gt;408,173&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Technology - In-process research and development&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_iI_c20211231_zTnyCjuBKxf2" style="text-align: right" title="Research and development in process"&gt;26,101,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Non-competition agreements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_iI_c20211231_zGl0giuVRrzj" style="text-align: right" title="Non competition agreements"&gt;1,094,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Accounts payable and accrued other expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_iNI_di_c20211231_zqxRfssFTrC5" style="text-align: right" title="Accounts payable and accrued other expenses"&gt;(1,069,274&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Deferred tax liability&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNI_di_c20211231_z6VgxFRsjupb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Deferred tax liability"&gt;(6,845,587&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total identifiable net assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iI_c20211231_zJ4NWXt1iuhe" style="text-align: right" title="Total indentifiable net assets"&gt;20,986,046&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Goodwill&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--Goodwill_iI_c20211231_zeRGg1Z3UsIb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill"&gt;14,706,818&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_c20211231_zmsfl4YhDPm4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;35,692,864&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zOc46Aygogt7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
excess of the purchase price over the net assets acquired was recorded as goodwill. Goodwill generated from the acquisition is primarily
attributable to assembled workforce and expected growth from future technologies, sales to future customers and buyer specific synergies.
Goodwill will not be amortized but instead will be tested for impairment at least annually and more frequently if certain indicators
of impairment are present. As a result of the structure of the transaction, the balance of goodwill is not amortizable for tax purposes.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
in-process research and development is considered an indefinite-lived intangible until the completion or abandonment of the research
and development activities. The non-competition agreements are being amortized over a range of &lt;span id="xdx_90A_eus-gaap--FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_dtY_c20210101__20211231__srt--RangeAxis__srt--MinimumMember_zVtQOn4WrEk6" title="Finite lived intangible assets  remaining amortization period"&gt;1.5&lt;/span&gt; to &lt;span id="xdx_908_eus-gaap--FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1_dtY_c20210101__20211231__srt--RangeAxis__srt--MaximumMember_zEYmOMI4xljc" title="Finite lived intangible assets  remaining amortization period"&gt;3&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
the acquisition was completed on December 31, 2021, the acquired entities did not contribute to the net revenues or to the net income
of the Company during the year ended December 31, 2021. Pro forma revenue and results of operations have not been presented because the
historical results of ACI and IdMo are not material to the Company&#x2019;s consolidated financial statements in any period presented.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="-5"
      unitRef="Shares">3200000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <CODX:StockIssuedDuringPeriodSharesContingentConsideration
      contextRef="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="-5"
      unitRef="Shares">1400000</CODX:StockIssuedDuringPeriodSharesContingentConsideration>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="AsOf2021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="INF"
      unitRef="Shares">456000</us-gaap:ClassOfWarrantOrRightOutstanding>
    <CODX:PaymentsToShareHoldersValueAcquisitions
      contextRef="From2021-01-012021-12-31_custom_AdvancedConceptionsIncMember"
      decimals="0"
      unitRef="USD">100000</CODX:PaymentsToShareHoldersValueAcquisitions>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2021-12-302021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="0"
      unitRef="USD">151000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="INF"
      unitRef="Pure">1</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_zMyaT089AjJl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of assets acquired and liabilities assumed was based on a preliminary valuation, and our estimates and assumptions are subject
to change within the measurement period. The primary area that remains preliminary relates to the evaluation of certain tax-related items
and potential minor adjustments to the purchase consideration. The total purchase consideration was allocated to the assets acquired
and liabilities assumed as set forth below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BA_zeoPe8gqz1z8" style="display: none"&gt;Schedule
of Assets and Liabilities assumed&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 80%"&gt;Fair value of common shares issued&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--StockIssuedDuringPeriodValueAcquisitions_c20210101__20211231_zSIcX0lehjo7" style="width: 16%; text-align: right" title="Stock issued during period, value acquisitions"&gt;25,160,223&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Payable to shareholder&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--PaymentsToShareHoldersValueAcquisitions_c20210101__20211231_zi5fQ801MlCl" style="text-align: right" title="Payable to shareholders"&gt;100,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Fair value of contingent shares&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ContingentConsiderationClassifiedAsEquityFairValueDisclosure_iI_c20211231_zbGT0x0sHfO6" style="text-align: right" title="Fair value of contingent shares"&gt;8,684,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Fair value of contingent warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--WarrantsNotSettleableInCashFairValueDisclosure_iI_c20211231_zg5LBND20pgi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Fair value of contingent warrants"&gt;1,747,972&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total fair value of consideration transferred&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--BusinessCombinationConsiderationTransferred1_c20210101__20211231_zqy6Oz1sPUT8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Business combination, consideration transferred"&gt;35,692,864&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Identifiable assets acquired and liabilities assumed&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Cash&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iI_c20211231_zGNojNKtPf72" style="text-align: right" title="Cash"&gt;1,196,243&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_iI_c20211231_ze2sYQxhW1ke" style="text-align: right" title="Accounts receivables"&gt;31,170&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Prepaid expenses and other current assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_iI_c20211231_zGXKFTbAYHW7" style="text-align: right" title="Prepaid expenses and other current assets"&gt;70,321&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_iI_c20211231_zi1OLYEu7oh7" style="text-align: right" title="Property and equipments"&gt;408,173&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Technology - In-process research and development&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities_iI_c20211231_zTnyCjuBKxf2" style="text-align: right" title="Research and development in process"&gt;26,101,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Non-competition agreements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements_iI_c20211231_zGl0giuVRrzj" style="text-align: right" title="Non competition agreements"&gt;1,094,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Accounts payable and accrued other expenses&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities_iNI_di_c20211231_zqxRfssFTrC5" style="text-align: right" title="Accounts payable and accrued other expenses"&gt;(1,069,274&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Deferred tax liability&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNI_di_c20211231_z6VgxFRsjupb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Deferred tax liability"&gt;(6,845,587&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Total identifiable net assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_iI_c20211231_zJ4NWXt1iuhe" style="text-align: right" title="Total indentifiable net assets"&gt;20,986,046&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Goodwill&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--Goodwill_iI_c20211231_zeRGg1Z3UsIb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Goodwill"&gt;14,706,818&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_iI_c20211231_zmsfl4YhDPm4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Total"&gt;35,692,864&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">25160223</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <CODX:PaymentsToShareHoldersValueAcquisitions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">100000</CODX:PaymentsToShareHoldersValueAcquisitions>
    <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">8684669</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
    <us-gaap:WarrantsNotSettleableInCashFairValueDisclosure contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1747972</us-gaap:WarrantsNotSettleableInCashFairValueDisclosure>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">35692864</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1196243</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">31170</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">70321</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">408173</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">26101000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities>
    <CODX:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1094000</CODX:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1069274</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">6845587</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">20986046</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:Goodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">14706818</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">35692864</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="From2021-01-012021-12-31_srt_MinimumMember">P1Y6M</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1 contextRef="From2021-01-012021-12-31_srt_MaximumMember">P3Y</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_806_eus-gaap--FairValueDisclosuresTextBlock_z1iCfsL3Q5Rj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
4 &#x2013; &lt;span id="xdx_823_zkSlaXpyiyE6"&gt;Fair Value Measurements&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company measures and records certain financial assets and liabilities at fair value on a recurring basis. Fair value is based on the
price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants
at the measurement date.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following three levels of inputs are used to measure the fair value of financial assets and liabilities:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
1: Quoted market prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
2: Observable market-based inputs or unobservable inputs that are corroborated by market data.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
3: Unobservable inputs that are not corroborated by market data.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zg3518j0zJu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2021 and December
31, 2020, by level within the fair value hierarchy:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BC_zk6XPsLODpu4" style="display: none"&gt;Schedule
of Fair Value Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 1)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 2)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 3)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (certificates of deposit)&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zm7IeHnuO84l" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0642"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zCqDuq7BltPl" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;1,255,266&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_z7wCOg6TwcJi" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0646"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_z6Xoq3Z3h7je" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;1,255,266&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6HnSJMIP3mj" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0650"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zLfFapCIYSqc" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;1,255,266&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zynnaJbelf5d" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0654"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zxvCqoqI6Dy9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;1,255,266&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration - common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYk3TzBox34f" style="text-align: right" title="Contingent consideration common stock"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0658"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_zeZSA6wQIdpj" style="text-align: right" title="Contingent consideration common stock"&gt;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0660"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_z4QZ151PvwFd" style="text-align: right" title="Contingent consideration common stock"&gt;8,684,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zdqcT2CDIQme" style="text-align: right" title="Contingent consideration common stock"&gt;8,684,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Contingent consideration - warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zlHrQECDYw94" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0666"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_ztTWsXCnviIi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0668"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zJcjuEjSz3Cb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;1,747,972&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zzP0EQYdyFqe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;1,747,972&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total liabilities measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYRGy7WS1HRk" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0674"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_z3seBkcPLFj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0676"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zbuLevT9KIs1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;10,432,641&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231_zyrzveZsO1g2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;10,432,641&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 1)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 2)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 3)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (certificates of deposit)&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPH6PGBvZ6Df" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0682"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_pp0p0_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z9waNpLhGPM2" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;4,335,446&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zUg4dE2FzKYh" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0686"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zQdEXYyHuO3k" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;4,335,446&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zl7q8y6J9524" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0690"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQU0EDOER2Yb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;4,335,446&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zh2fpC3Hn111" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0694"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zOoP6mVLysw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;4,335,446&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zG1dlgIKWdCa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s financial instruments that are measured at fair value on a recurring basis consist of certificates of deposit.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
connection with the acquisitions of Idaho Molecular, Inc and Advanced Conceptions, Inc. on December 31, 2021, the Company recorded a
liability for contingent consideration in the form of shares of common stock and warrants to purchase common stock. The fair value of
contingent consideration is calculated using a discounted probability weighted valuation model. Discount rates used in such calculation
are a significant assumption that are not observed in the market, and therefore, the resulting fair value represents a Level 3 measurement.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zGT36wByptkd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
changes for Level 3 items measured at fair value on a recurring basis are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 60pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_zVVMJuliFhc4" style="display: none"&gt;Schedule
of Changes in Fair Value Measurement&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Fair value as of December 31, 2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_c20210101__20211231_z49DilL36i9d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Asset acquisition contingent consideration liability noncurrent"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0700"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 70%; text-align: left; padding-bottom: 1.5pt"&gt;Contingent considered issued for business acquisitions&lt;/td&gt;&lt;td style="width: 10%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_c20210101__20211231_z8ovD4Tn2RPb" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Contingent considered issued for business acquisitions"&gt;10,432,641&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Fair value as of December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_c20210101__20211231_z5RrSc3eUMj1" style="border-bottom: Black 2.5pt double; text-align: right" title="Asset acquisition contingent consideration liability noncurrent"&gt;10,432,641&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zEzlIbdnJhUl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the contingent consideration is based on the fair value of the contingent consideration-common stock and contingent consideration-warrants.
The fair value of the contingent consideration-common stock is equal to the probability-adjusted value of the Company&#x2019;s common
stock as of December 31, 2021. The fair value of the contingent consideration-warrants is equal to the probability adjusted value of
a call option with terms consistent with the terms of the warrants as of December 31, 2021. Prior to the probability adjustments,
the warrants were valued based on the following inputs:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zpiccZIH1lX8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;span id="xdx_8BF_zg3exvZ9JGB1" style="display: none"&gt;Schedule
of Contingent Consideration Common Stock and Warrants&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Stock price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zpuruaDolIf3" style="width: 16%; text-align: right" title="Warrants measurement input"&gt;8.93&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Strike price&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zK3cVOifFAp2" style="text-align: right" title="Warrants measurement input"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zDS5whyEkeba" style="text-align: right" title="Warrants measurement input"&gt;80.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Risk-free rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zzLfu533sbb1" style="text-align: right" title="Warrants measurement input"&gt;1.30&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20211231_zYjxs60AwO13" style="text-align: right" title="Warrants measurement, term"&gt;5.0&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to calculate the probability-adjusted value of the contingent consideration-common stock and contingent consideration-warrants,
the Company estimated the probability of achieving certain milestones, which include regulatory approval for identified products, as
well as production and net revenue targets. The probability of achieving the milestone related to net revenues was estimated using a
Monte Carlo simulation valuation model. The unobservable significant inputs to the valuation model were as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Stock price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zqLXGv2Ta1o1" style="width: 16%; text-align: right" title="Business combination,contingent consideration"&gt;8.93&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Risk-free rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zByYSoOk6oQg" style="text-align: right" title="Business combination,contingent consideration"&gt;1.30&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_ecustom--BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_dtY_c20210101__20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zhxoYlmhDPb6" style="text-align: right" title="Business combination,contingent consideration, term"&gt;5.0&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Weighted-average cost of capital&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputCostOfCapitalMember_zhImkEGhNGik" style="text-align: right" title="Business combination,contingent consideration"&gt;27.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Revenue discount rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputDiscountRateMember_zfdaih8MKiT" style="text-align: right" title="Business combination,contingent consideration"&gt;9.50&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Equity volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputEquityVolatilityMember_z3wiMDKAyeYl" style="text-align: right" title="Business combination,contingent consideration"&gt;80.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Asset volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputAssetVolatilityMember_zKh26MPjAQJf" style="text-align: right" title="Business combination,contingent consideration"&gt;80.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Revenue volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputRevenueVolatilityMember_zIA2hopBBqu5" style="text-align: right" title="Business combination,contingent consideration"&gt;30.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_zXl1kPOQIsf9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Fair
Value of Other Financial Instruments&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
carrying amounts of certain financial instruments, including cash held in banks, accounts receivable, notes receivable, accounts
payable, accrued liabilities, and other liabilities approximate fair value due to their short-term maturities and are excluded from the
fair value tables above.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_899_eus-gaap--FairValueAssetsMeasuredOnRecurringBasisTextBlock_zg3518j0zJu6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the assets and liabilities measured at fair value on a recurring basis as of December 31, 2021 and December
31, 2020, by level within the fair value hierarchy:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BC_zk6XPsLODpu4" style="display: none"&gt;Schedule
of Fair Value Assets and Liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 1)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 2)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 3)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (certificates of deposit)&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zm7IeHnuO84l" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0642"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zCqDuq7BltPl" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;1,255,266&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_z7wCOg6TwcJi" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0646"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--MarketableSecurities_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_z6Xoq3Z3h7je" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;1,255,266&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_z6HnSJMIP3mj" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0650"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zLfFapCIYSqc" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;1,255,266&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zynnaJbelf5d" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0654"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--AssetsFairValueDisclosure_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zxvCqoqI6Dy9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;1,255,266&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration - common stock&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYk3TzBox34f" style="text-align: right" title="Contingent consideration common stock"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0658"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_zeZSA6wQIdpj" style="text-align: right" title="Contingent consideration common stock"&gt;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0660"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_z4QZ151PvwFd" style="text-align: right" title="Contingent consideration common stock"&gt;8,684,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_ecustom--FairValueOfContingentConsiderationToCommonStock_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zdqcT2CDIQme" style="text-align: right" title="Contingent consideration common stock"&gt;8,684,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Contingent consideration - warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zlHrQECDYw94" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0666"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_ztTWsXCnviIi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0668"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zJcjuEjSz3Cb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;1,747,972&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--FairValueOfContingentConsiderationToWarrants_iI_c20211231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zzP0EQYdyFqe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Contingent consideration warrants"&gt;1,747,972&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total liabilities measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel1Member_zYRGy7WS1HRk" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0674"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel2Member_z3seBkcPLFj9" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0676"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231__custom--FairValueByFairValueHierarchyLevelAxAxis__us-gaap--FairValueInputsLevel3Member_zbuLevT9KIs1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;10,432,641&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--LiabilitiesFairValueDisclosure_iI_c20211231_zyrzveZsO1g2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total liabilities measured at fair value"&gt;10,432,641&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="14" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 1)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 2)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;(Level 3)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 40%; text-align: left; padding-bottom: 1.5pt"&gt;Marketable securities (certificates of deposit)&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zPH6PGBvZ6Df" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0682"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--MarketableSecurities_iI_pp0p0_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_z9waNpLhGPM2" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;4,335,446&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zUg4dE2FzKYh" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0686"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--MarketableSecurities_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zQdEXYyHuO3k" style="border-bottom: Black 1.5pt solid; width: 11%; text-align: right" title="Marketable securities (certificates of deposit)"&gt;4,335,446&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total assets measured at fair value&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel1Member_zl7q8y6J9524" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0690"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel2Member_zQU0EDOER2Yb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;4,335,446&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByFairValueHierarchyLevelAxis__us-gaap--FairValueInputsLevel3Member_zh2fpC3Hn111" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0694"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--AssetsFairValueDisclosure_iI_c20201231__us-gaap--FairValueByMeasurementFrequencyAxis__us-gaap--FairValueMeasurementsRecurringMember_zOoP6mVLysw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Total assets measured at fair value"&gt;4,335,446&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      unitRef="USD">1255266</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      unitRef="USD">1255266</us-gaap:MarketableSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      unitRef="USD">1255266</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      unitRef="USD">1255266</us-gaap:AssetsFairValueDisclosure>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member6328609"
      decimals="0"
      unitRef="USD">8684669</CODX:FairValueOfContingentConsiderationToCommonStock>
    <CODX:FairValueOfContingentConsiderationToCommonStock
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      unitRef="USD">8684669</CODX:FairValueOfContingentConsiderationToCommonStock>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member6328609"
      decimals="0"
      unitRef="USD">1747972</CODX:FairValueOfContingentConsiderationToWarrants>
    <CODX:FairValueOfContingentConsiderationToWarrants
      contextRef="AsOf2021-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      unitRef="USD">1747972</CODX:FairValueOfContingentConsiderationToWarrants>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="AsOf2021-12-31_us-gaap_FairValueInputsLevel3Member6328640"
      decimals="0"
      unitRef="USD">10432641</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">10432641</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      unitRef="USD">4335446</us-gaap:MarketableSecurities>
    <us-gaap:MarketableSecurities
      contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      unitRef="USD">4335446</us-gaap:MarketableSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2020-12-31_us-gaap_FairValueInputsLevel2Member"
      decimals="0"
      unitRef="USD">4335446</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="0"
      unitRef="USD">4335446</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89F_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock_zGT36wByptkd" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
changes for Level 3 items measured at fair value on a recurring basis are as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 60pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B4_zVVMJuliFhc4" style="display: none"&gt;Schedule
of Changes in Fair Value Measurement&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Fair value as of December 31, 2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iS_c20210101__20211231_z49DilL36i9d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Asset acquisition contingent consideration liability noncurrent"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0700"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 70%; text-align: left; padding-bottom: 1.5pt"&gt;Contingent considered issued for business acquisitions&lt;/td&gt;&lt;td style="width: 10%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--ContingentConsideredIssuedForBusinessAcquisitions_c20210101__20211231_z8ovD4Tn2RPb" style="border-bottom: Black 1.5pt solid; width: 18%; text-align: right" title="Contingent considered issued for business acquisitions"&gt;10,432,641&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Fair value as of December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--BusinessCombinationContingentConsiderationLiabilityNoncurrent_iE_c20210101__20211231_z5RrSc3eUMj1" style="border-bottom: Black 2.5pt double; text-align: right" title="Asset acquisition contingent consideration liability noncurrent"&gt;10,432,641&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock>
    <CODX:ContingentConsideredIssuedForBusinessAcquisitions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">10432641</CODX:ContingentConsideredIssuedForBusinessAcquisitions>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">10432641</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_892_eus-gaap--FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock_zpiccZIH1lX8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;span id="xdx_8BF_zg3exvZ9JGB1" style="display: none"&gt;Schedule
of Contingent Consideration Common Stock and Warrants&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Stock price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zpuruaDolIf3" style="width: 16%; text-align: right" title="Warrants measurement input"&gt;8.93&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Strike price&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputStrikePriceMember_zK3cVOifFAp2" style="text-align: right" title="Warrants measurement input"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputPriceVolatilityMember_zDS5whyEkeba" style="text-align: right" title="Warrants measurement input"&gt;80.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Risk-free rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zzLfu533sbb1" style="text-align: right" title="Warrants measurement input"&gt;1.30&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20211231_zYjxs60AwO13" style="text-align: right" title="Warrants measurement, term"&gt;5.0&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to calculate the probability-adjusted value of the contingent consideration-common stock and contingent consideration-warrants,
the Company estimated the probability of achieving certain milestones, which include regulatory approval for identified products, as
well as production and net revenue targets. The probability of achieving the milestone related to net revenues was estimated using a
Monte Carlo simulation valuation model. The unobservable significant inputs to the valuation model were as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Stock price&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputSharePriceMember_zqLXGv2Ta1o1" style="width: 16%; text-align: right" title="Business combination,contingent consideration"&gt;8.93&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Risk-free rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zByYSoOk6oQg" style="text-align: right" title="Business combination,contingent consideration"&gt;1.30&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected term&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_ecustom--BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm_dtY_c20210101__20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_zhxoYlmhDPb6" style="text-align: right" title="Business combination,contingent consideration, term"&gt;5.0&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Weighted-average cost of capital&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputCostOfCapitalMember_zhImkEGhNGik" style="text-align: right" title="Business combination,contingent consideration"&gt;27.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Revenue discount rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputDiscountRateMember_zfdaih8MKiT" style="text-align: right" title="Business combination,contingent consideration"&gt;9.50&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Equity volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputEquityVolatilityMember_z3wiMDKAyeYl" style="text-align: right" title="Business combination,contingent consideration"&gt;80.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Asset volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputAssetVolatilityMember_zKh26MPjAQJf" style="text-align: right" title="Business combination,contingent consideration"&gt;80.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Revenue volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--BusinessCombinationContingentConsiderationLiabilityMeasurementInput_iI_uPure_c20211231__us-gaap--MeasurementInputTypeAxis__custom--MeasurementInputRevenueVolatilityMember_zIA2hopBBqu5" style="text-align: right" title="Business combination,contingent consideration"&gt;30.00&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember"
      decimals="INF"
      unitRef="Pure">8.93</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2021-12-31_custom_MeasurementInputStrikePriceMember"
      decimals="INF"
      unitRef="Pure">9.13</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2021-12-31_us-gaap_MeasurementInputPriceVolatilityMember"
      decimals="INF"
      unitRef="Pure">80.00</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2021-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember"
      decimals="INF"
      unitRef="Pure">1.30</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingTerm contextRef="AsOf2021-12-31">P5Y</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember"
      decimals="INF"
      unitRef="Pure">8.93</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember"
      decimals="INF"
      unitRef="Pure">1.30</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <CODX:BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm contextRef="From2021-01-012021-12-31_us-gaap_MeasurementInputExpectedTermMember">P5Y</CODX:BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_custom_MeasurementInputCostOfCapitalMember"
      decimals="INF"
      unitRef="Pure">27.00</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_us-gaap_MeasurementInputDiscountRateMember"
      decimals="INF"
      unitRef="Pure">9.50</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_custom_MeasurementInputEquityVolatilityMember"
      decimals="INF"
      unitRef="Pure">80.00</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_custom_MeasurementInputAssetVolatilityMember"
      decimals="INF"
      unitRef="Pure">80.00</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput
      contextRef="AsOf2021-12-31_custom_MeasurementInputRevenueVolatilityMember"
      decimals="INF"
      unitRef="Pure">30.00</us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_80B_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zJjfcIilwCad" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
5 &#x2013; &lt;span id="xdx_829_zzQlfl7DAI3j"&gt;Property and Equipment&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--PropertyPlantAndEquipmentTextBlock_zzfakGPSbbZ7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B2_zy1zjPnolAQ5" style="display: none"&gt;Schedule
of Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Estimated&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Useful Lives in&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt; years&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Lab equipment&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zNniGUOQicck" title="Property and equipment estimated useful lives"&gt;3&lt;/span&gt; - &lt;span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zJGJROUIiIW4" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zyxa7hrqCF5a" style="width: 14%; text-align: right" title="Property and equipment, gross"&gt;2,476,813&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUlt3xTtZVyc" style="width: 14%; text-align: right" title="Property and equipment, gross"&gt;1,212,561&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_901_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember_zNULZkEtwQrb" title="Property and equipment estimated useful lives"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zzhrcHbgJoW2" style="text-align: right" title="Property and equipment, gross"&gt;3,157&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zpFDJhQEo1L2" style="text-align: right" title="Property and equipment, gross"&gt;3,157&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment, furniture and other&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zncZHGcsMuUa" title="Property and equipment estimated useful lives"&gt;2&lt;/span&gt; - &lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zRH8d9wLg5Ie" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z85W0rrp8qb2" style="text-align: right" title="Property and equipment, gross"&gt;75,401&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zHchHySF6Cle" style="text-align: right" title="Property and equipment, gross"&gt;38,344&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less accumulated depreciation and amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20211231_zBLmx7MmkOsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(622,155&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_c20201231_zpeyTiXyNv0j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(304,423&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Fixed assets, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20211231_zDONMh3Xgju6" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;1,933,216&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20201231_z37SNkZS9PWc" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;949,639&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_897_eus-gaap--PropertyPlantAndEquipmentTextBlock_zzfakGPSbbZ7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Property
and equipment, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B2_zy1zjPnolAQ5" style="display: none"&gt;Schedule
of Property and Equipment&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Estimated&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Useful Lives in&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt; years&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Lab equipment&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 14%; text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MinimumMember_zNniGUOQicck" title="Property and equipment estimated useful lives"&gt;3&lt;/span&gt; - &lt;span id="xdx_90C_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember__srt--RangeAxis__srt--MaximumMember_zJGJROUIiIW4" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zyxa7hrqCF5a" style="width: 14%; text-align: right" title="Property and equipment, gross"&gt;2,476,813&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--EquipmentMember_zUlt3xTtZVyc" style="width: 14%; text-align: right" title="Property and equipment, gross"&gt;1,212,561&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span id="xdx_901_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdsAndLeaseholdImprovementsMember_zNULZkEtwQrb" title="Property and equipment estimated useful lives"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zzhrcHbgJoW2" style="text-align: right" title="Property and equipment, gross"&gt;3,157&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zpFDJhQEo1L2" style="text-align: right" title="Property and equipment, gross"&gt;3,157&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment, furniture and other&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MinimumMember_zncZHGcsMuUa" title="Property and equipment estimated useful lives"&gt;2&lt;/span&gt; - &lt;span id="xdx_900_eus-gaap--PropertyPlantAndEquipmentUsefulLife_dtY_c20210101__20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember__srt--RangeAxis__srt--MaximumMember_zRH8d9wLg5Ie" title="Property and equipment estimated useful lives"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20211231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_z85W0rrp8qb2" style="text-align: right" title="Property and equipment, gross"&gt;75,401&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--PropertyPlantAndEquipmentGross_iI_pp0p0_c20201231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zHchHySF6Cle" style="text-align: right" title="Property and equipment, gross"&gt;38,344&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less accumulated depreciation and amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_pp0p0_di_c20211231_zBLmx7MmkOsb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(622,155&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_c20201231_zpeyTiXyNv0j" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less: accumulated depreciation"&gt;(304,423&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Fixed assets, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20211231_zDONMh3Xgju6" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;1,933,216&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentNet_iI_pp0p0_c20201231_z37SNkZS9PWc" style="border-bottom: Black 2.5pt double; text-align: right" title="Property and equipment, net"&gt;949,639&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MinimumMember">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_EquipmentMember_srt_MaximumMember">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_EquipmentMember"
      decimals="0"
      unitRef="USD">2476813</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2020-12-31_us-gaap_EquipmentMember"
      decimals="0"
      unitRef="USD">1212561</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_LeaseholdsAndLeaseholdImprovementsMember">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">3157</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2020-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      unitRef="USD">3157</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MinimumMember">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_OfficeEquipmentMember_srt_MaximumMember">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2021-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">75401</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2020-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      unitRef="USD">38344</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">622155</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">304423</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1933216</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">949639</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_805_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zPFt9bNwaaqf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
6 - &lt;span id="xdx_822_zOaAf6VKzWjd"&gt;Goodwill and Intangible Assets&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zeNyMQmly8Jg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zfSS8lkfInfh" style="display: none"&gt;Schedule
of Intangible Assets&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Estimated&lt;/p&gt;
                                                                             &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Useful Lives in&lt;/p&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt; years&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; text-align: left"&gt;In-process research and development&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_900_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zZkP100aPyHj" title="Estimated useful lives in years, term"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zFFc1TBbJ6V2" style="width: 14%; text-align: right" title="In-process research and development"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zx0JyuIxVM0l" style="width: 14%; text-align: right" title="In-process research and development"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0776"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Non-competition agreements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MinimumMember_z0nE4Iciziyh" title="Estimated useful lives in years"&gt;1.5&lt;/span&gt; - &lt;span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MaximumMember_zVCzUdDeh1X6" title="Estimated useful lives in years"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z0ct4haYeGdh" style="text-align: right" title="Intangible assets, gross"&gt;1,094,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zSWyJSmq9b11" style="text-align: right" title="Intangible assets, gross"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0784"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less accumulated amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20211231_zGxKLBIPuvC7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0786"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20201231_z1WvsPw8pgU2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0788"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Intangible assets, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20211231_zMlPqCzdqqMc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;27,195,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20201231_zaIAespoONp6" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0792"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8AA_zPTFb18WFdQi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zOKhJOm1KDea" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
expected future annual amortization expense of the Company&#x2019;s intangible assets held as of December 31, 2021 is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zhPshHDKSjQ" style="display: none"&gt;Schedule
of Future Amortization Expense&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Year Ending December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20211231_zfXPLwjYghHl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amortization Expense&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zkzwNNo6wvHc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 82%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right"&gt;426,660&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_maFLIANzZiM_zsNyTlL51H4l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;2023&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;364,668&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_maFLIANzZiM_zEDuaMmD2ij3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;302,672&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zYX5bQAZUU7f" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,094,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zkTIvoBIJfKk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company had goodwill of $14.7 million as of December 31, 2021.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_891_eus-gaap--ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_zeNyMQmly8Jg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets, net consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zfSS8lkfInfh" style="display: none"&gt;Schedule
of Intangible Assets&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; font-weight: bold; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Estimated&lt;/p&gt;
                                                                             &lt;p style="margin-top: 0; margin-bottom: 0"&gt;Useful Lives in&lt;/p&gt;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt; years&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 48%; text-align: left"&gt;In-process research and development&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 14%; text-align: center"&gt;&lt;span id="xdx_900_ecustom--IndefiniteLivedIntangibleAssetUsefulLife_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zZkP100aPyHj" title="Estimated useful lives in years, term"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zFFc1TBbJ6V2" style="width: 14%; text-align: right" title="In-process research and development"&gt;26,101,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--InProcessResearchAndDevelopmentMember_zx0JyuIxVM0l" style="width: 14%; text-align: right" title="In-process research and development"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0776"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Non-competition agreements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: center"&gt;&lt;span id="xdx_901_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MinimumMember_z0nE4Iciziyh" title="Estimated useful lives in years"&gt;1.5&lt;/span&gt; - &lt;span id="xdx_900_eus-gaap--FiniteLivedIntangibleAssetUsefulLife_dtY_c20210101__20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember__srt--RangeAxis__srt--MaximumMember_zVCzUdDeh1X6" title="Estimated useful lives in years"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20211231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_z0ct4haYeGdh" style="text-align: right" title="Intangible assets, gross"&gt;1,094,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_c20201231__us-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--NoncompeteAgreementsMember_zSWyJSmq9b11" style="text-align: right" title="Intangible assets, gross"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span style="-sec-ix-hidden: xdx2ixbrl0784"&gt;&#160;&lt;/span&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less accumulated amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20211231_zGxKLBIPuvC7" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0786"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_c20201231_z1WvsPw8pgU2" style="border-bottom: Black 1.5pt solid; text-align: right" title="Less accumulated amortization"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0788"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Intangible assets, net&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20211231_zMlPqCzdqqMc" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;27,195,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iI_c20201231_zaIAespoONp6" style="border-bottom: Black 2.5pt double; text-align: right" title="Intangible assets, net"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0792"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <CODX:IndefiniteLivedIntangibleAssetUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_InProcessResearchAndDevelopmentMember">Indefinite</CODX:IndefiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2021-12-31_us-gaap_InProcessResearchAndDevelopmentMember"
      decimals="0"
      unitRef="USD">26101000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MinimumMember">P1Y6M</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="From2021-01-012021-12-31_us-gaap_NoncompeteAgreementsMember_srt_MaximumMember">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2021-12-31_us-gaap_NoncompeteAgreementsMember"
      decimals="0"
      unitRef="USD">1094000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">27195000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89B_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zOKhJOm1KDea" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
expected future annual amortization expense of the Company&#x2019;s intangible assets held as of December 31, 2021 is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B5_zhPshHDKSjQ" style="display: none"&gt;Schedule
of Future Amortization Expense&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold"&gt;Year Ending December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20211231_zfXPLwjYghHl" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Amortization Expense&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_maFLIANzZiM_zkzwNNo6wvHc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 82%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 15%; text-align: right"&gt;426,660&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_maFLIANzZiM_zsNyTlL51H4l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;2023&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;364,668&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_maFLIANzZiM_zEDuaMmD2ij3" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;302,672&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--FiniteLivedIntangibleAssetsNet_iTI_mtFLIANzZiM_zYX5bQAZUU7f" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;1,094,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">426660</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">364668</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">302672</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1094000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_80B_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zFtms4aNHs8h" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
7 - &lt;span id="xdx_821_ziSvSWd3xiG3"&gt;Accrued Expenses&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zWQp8db5wvEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
expenses consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zDDUqS16gCb8" style="display: none"&gt;Schedule
of Accrued Expenses&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20211231_zl6ck8a2cjxj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20201231_zi31yqBf6Ou6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zx42ewj43lcc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Payroll liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,455,694&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,627,957&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zfJD04nhz7ph" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Distributor commissions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;509,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,070,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--SalesAndExciseTaxPayableCurrent_iI_maALCzYz0_zhE8UR6SOb8e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Sales tax payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0814"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: right"&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,526&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zVSFpBgVk595" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Other accrued liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;894,458&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;99,020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--AccruedLiabilitiesCurrent_iI_mtALCzYz0_zQjgyzUd6S43" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total accrued expenses&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,859,652&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,849,503&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zHqE8YTmaKZa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_891_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zWQp8db5wvEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Accrued
expenses consisted of the following:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BB_zDDUqS16gCb8" style="display: none"&gt;Schedule
of Accrued Expenses&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20211231_zl6ck8a2cjxj" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20201231_zi31yqBf6Ou6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31, 2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--AccruedPayrollTaxesCurrent_iI_maALCzYz0_zx42ewj43lcc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Payroll liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,455,694&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;1,627,957&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AccruedSalesCommissionCurrent_iI_maALCzYz0_zfJD04nhz7ph" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Distributor commissions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;509,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,070,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--SalesAndExciseTaxPayableCurrent_iI_maALCzYz0_zhE8UR6SOb8e" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Sales tax payable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0814"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: right"&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,526&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--OtherAccruedLiabilitiesCurrent_iI_maALCzYz0_zVSFpBgVk595" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Other accrued liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;894,458&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;99,020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--AccruedLiabilitiesCurrent_iI_mtALCzYz0_zQjgyzUd6S43" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total accrued expenses&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;3,859,652&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,849,503&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedPayrollTaxesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">2455694</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedPayrollTaxesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">1627957</us-gaap:AccruedPayrollTaxesCurrent>
    <us-gaap:AccruedSalesCommissionCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">509500</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:AccruedSalesCommissionCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">1070000</us-gaap:AccruedSalesCommissionCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">52526</us-gaap:SalesAndExciseTaxPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">894458</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">99020</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">3859652</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">2849503</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_801_eus-gaap--RevenueFromContractWithCustomerTextBlock_zorGJIRAl7F8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
8 &#x2013; &lt;span id="xdx_82E_zQkTW0C0r8lc"&gt;Revenue&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_894_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zpip6n1ibdk7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth revenue by geographic area:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BD_z9EhQeIhXaL" style="display: none"&gt;Summary of Revenue by Geographic Area&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;United States&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember_zpwoleb2rDB5" style="width: 16%; text-align: right" title="Revenue"&gt;52,185,812&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember_zyrCmUYDzw1c" style="width: 16%; text-align: right" title="Revenue"&gt;44,862,751&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Rest of World&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zyZkp1E9pYjj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue"&gt;45,699,791&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zPti5VVvAdS" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue"&gt;29,690,007&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231_zuARGY6k0p5k" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;97,885,603&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231_zH7M22x6oZw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;74,552,758&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Percentage of revenue by area:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJazHFVJeNog" style="text-align: right" title="Percentage of revenue"&gt;53&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_z0skdzkf6pv1" style="text-align: right" title="Percentage of revenue"&gt;60&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Rest of World&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zZcS9rKfGLzf" style="text-align: right" title="Percentage of revenue"&gt;47&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zRaUBOXchH1h" style="text-align: right" title="Percentage of revenue"&gt;40&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_z13JKgCFvti8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Deferred
Revenue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zsvRzQTqXeyj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Changes
in the Company&#x2019;s deferred revenue balance for the years ended December 31, 2021 and 2020 were as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span id="xdx_8B8_zNakCKApdiZe" style="display: none"&gt;Schedule of Deferred Revenue&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance as of December 31, 2019&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ContractWithCustomerLiability_iS_c20200101__20201231_zUENGvoZtdNa" style="width: 16%; text-align: right" title="Deferred revenue, beginning balance"&gt;1,323&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Revenue recognized included in deferred revenue balance at the beginning of the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20200101__20201231_zRVBGf26lXMg" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period"&gt;(1,323&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Increase due to prepayments from customers&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20200101__20201231_zqdmOB9VOj21" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from customers"&gt;305,307&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance as of December 31, 2020&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ContractWithCustomerLiability_iS_c20210101__20211231_zNvzN7EmUmq2" style="text-align: right" title="Deferred revenue, beginning balance"&gt;305,307&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Revenue recognized included in deferred revenue balance at the beginning of the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20210101__20211231_z5acRrjLtM6e" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period"&gt;(256,110&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Increase due to prepayments from customers&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20210101__20211231_ztHqSI9pUlYf" style="text-align: right" title="Increase due to prepayments from customers"&gt;79,213&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Increase due to note receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--IncreaseDueToNoteReceivable_c20210101__20211231_zePfxnIws6wj" style="text-align: right" title="Increase due to note receivable"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Decrease due to refunds to customers and application to open balances&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_iN_di_c20210101__20211231_zhcNQNX5TXfa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Decrease due to refunds to customers and application to open balances"&gt;(128,410&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance as of December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ContractWithCustomerLiability_iE_c20210101__20211231_z9H33Mb2t3Sh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, Ending balance"&gt;150,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AD_zlvNd94oh9nj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company expects to perform its performance obligation and recognize the deferred revenue as revenue during the year ended December 31,
2022.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_894_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zpip6n1ibdk7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table sets forth revenue by geographic area:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BD_z9EhQeIhXaL" style="display: none"&gt;Summary of Revenue by Geographic Area&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;United States&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember_zpwoleb2rDB5" style="width: 16%; text-align: right" title="Revenue"&gt;52,185,812&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember_zyrCmUYDzw1c" style="width: 16%; text-align: right" title="Revenue"&gt;44,862,751&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Rest of World&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zyZkp1E9pYjj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue"&gt;45,699,791&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember_zPti5VVvAdS" style="border-bottom: Black 1.5pt solid; text-align: right" title="Revenue"&gt;29,690,007&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 2.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20210101__20211231_zuARGY6k0p5k" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;97,885,603&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--RevenueFromContractWithCustomerIncludingAssessedTax_c20200101__20201231_zH7M22x6oZw6" style="border-bottom: Black 2.5pt double; text-align: right" title="Revenue"&gt;74,552,758&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Percentage of revenue by area:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zJazHFVJeNog" style="text-align: right" title="Percentage of revenue"&gt;53&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__srt--AmericasMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_z0skdzkf6pv1" style="text-align: right" title="Percentage of revenue"&gt;60&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Rest of World&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zZcS9rKfGLzf" style="text-align: right" title="Percentage of revenue"&gt;47&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20200101__20201231__srt--StatementGeographicalAxis__custom--RestOfWorldMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--SalesRevenueNetMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--GeographicConcentrationRiskMember_zRaUBOXchH1h" style="text-align: right" title="Percentage of revenue"&gt;40&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2021-01-012021-12-31_srt_AmericasMember"
      decimals="0"
      unitRef="USD">52185812</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2020-01-012020-12-31_srt_AmericasMember"
      decimals="0"
      unitRef="USD">44862751</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2021-01-012021-12-31_custom_RestOfWorldMember"
      decimals="0"
      unitRef="USD">45699791</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2020-01-012020-12-31_custom_RestOfWorldMember"
      decimals="0"
      unitRef="USD">29690007</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">97885603</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">74552758</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      unitRef="Pure">0.53</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2020-01-012020-12-31_srt_AmericasMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      unitRef="Pure">0.60</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2021-01-012021-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      unitRef="Pure">0.47</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2020-01-012020-12-31_custom_RestOfWorldMember_us-gaap_SalesRevenueNetMember_us-gaap_GeographicConcentrationRiskMember"
      decimals="INF"
      unitRef="Pure">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_899_eus-gaap--ContractWithCustomerAssetAndLiabilityTableTextBlock_zsvRzQTqXeyj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Changes
in the Company&#x2019;s deferred revenue balance for the years ended December 31, 2021 and 2020 were as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span id="xdx_8B8_zNakCKApdiZe" style="display: none"&gt;Schedule of Deferred Revenue&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance as of December 31, 2019&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ContractWithCustomerLiability_iS_c20200101__20201231_zUENGvoZtdNa" style="width: 16%; text-align: right" title="Deferred revenue, beginning balance"&gt;1,323&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Revenue recognized included in deferred revenue balance at the beginning of the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20200101__20201231_zRVBGf26lXMg" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period"&gt;(1,323&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Increase due to prepayments from customers&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20200101__20201231_zqdmOB9VOj21" style="border-bottom: Black 1.5pt solid; text-align: right" title="Increase due to prepayments from customers"&gt;305,307&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance as of December 31, 2020&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ContractWithCustomerLiability_iS_c20210101__20211231_zNvzN7EmUmq2" style="text-align: right" title="Deferred revenue, beginning balance"&gt;305,307&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Revenue recognized included in deferred revenue balance at the beginning of the period&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_iN_di_c20210101__20211231_z5acRrjLtM6e" style="text-align: right" title="Revenue recognized included in deferred revenue balance at the beginning of the period"&gt;(256,110&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Increase due to prepayments from customers&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_ecustom--IncreaseDueToPrepaymentsFromCustomers_c20210101__20211231_ztHqSI9pUlYf" style="text-align: right" title="Increase due to prepayments from customers"&gt;79,213&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Increase due to note receivable&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--IncreaseDueToNoteReceivable_c20210101__20211231_zePfxnIws6wj" style="text-align: right" title="Increase due to note receivable"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Decrease due to refunds to customers and application to open balances&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances_iN_di_c20210101__20211231_zhcNQNX5TXfa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Decrease due to refunds to customers and application to open balances"&gt;(128,410&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance as of December 31, 2021&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ContractWithCustomerLiability_iE_c20210101__20211231_z9H33Mb2t3Sh" style="border-bottom: Black 2.5pt double; text-align: right" title="Deferred revenue, Ending balance"&gt;150,000&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2019-12-31" decimals="0" unitRef="USD">1323</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">1323</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <CODX:IncreaseDueToPrepaymentsFromCustomers
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">305307</CODX:IncreaseDueToPrepaymentsFromCustomers>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">305307</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">256110</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <CODX:IncreaseDueToPrepaymentsFromCustomers
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">79213</CODX:IncreaseDueToPrepaymentsFromCustomers>
    <CODX:IncreaseDueToNoteReceivable
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">150000</CODX:IncreaseDueToNoteReceivable>
    <CODX:DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">128410</CODX:DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">150000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_80A_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_z48NcTXgWjXj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
9 &#x2013; &lt;span id="xdx_828_ze2cvoPCZrp8"&gt;Stockholders&#x2019; Equity&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Common
Stock &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2021, the Company issued &lt;span id="xdx_909_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zLqBdEy1tMql"&gt;189,225
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;shares of common stock upon the exercise of options
and received $&lt;span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zcUwNNIx9Cqd"&gt;450,398
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;in proceeds from the exercises.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2021, the Company issued &lt;span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20210101__20211231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember_z1DKFm6dXw4i" title="Number of shares issued for services"&gt;5,548&lt;/span&gt; shares of common stock for services provided by third parties primarily related
to investor relations services.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2021, the Company issued &lt;span id="xdx_903_ecustom--StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits_c20210101__20211231_zGxhjGbvD5Vj" title="Vest and restricted stock units"&gt;438,502&lt;/span&gt; shares of common stock upon the vest and release of restricted stock units.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2021, the Company issued &lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesAcquisitions_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zOSUkQtjXoUc"&gt;4,628,554
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;shares of common stock related to the acquisitions
of Idaho Molecular, Inc. and Advanced Conceptions, Inc., &lt;span id="xdx_90D_ecustom--StockIssuedDuringPeriodSharesForfeited_c20210101__20211231__us-gaap--BusinessAcquisitionAxis__custom--AdvancedConceptionsIncAndIdahoMolecularIncMember_zLdSlms7NrFf"&gt;1,390,430
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;of which are subject to forfeiture in favor
of the Company if certain milestones are not achieved on or before January 1, 2027.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company completed the sale of &lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zlSbnq7H0Kof" title="Number of common stock issued"&gt;3,448,278&lt;/span&gt; shares of the Company&#x2019;s common stock, par value $&lt;span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zlZDEnJOMvEc" title="Common stock, par value"&gt;0.001&lt;/span&gt;
per share, at a purchase price of $&lt;span id="xdx_908_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zkLxeM85Aymb" title="Sale of common stock purchase price per shares"&gt;1.45&lt;/span&gt; per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $&lt;span id="xdx_903_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_z2wEgbbM3iyd" title="Issuance of common stock gross proceeds"&gt;5,000,003&lt;/span&gt; and the Company received net proceeds of $&lt;span id="xdx_909_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zACC5RFATpwj" title="Net proceeds from issuance of common stock"&gt;4,517,102&lt;/span&gt; after deducting offering costs of $&lt;span id="xdx_901_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockThreeMember_zYzJODETjTc4" title="Offering costs"&gt;482,901&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company completed the sale of &lt;span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zpkpnaTlhdvf" title="Number of common stock issued"&gt;3,324,676&lt;/span&gt; shares of the Company&#x2019;s common stock, par value $&lt;span id="xdx_90A_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zZgoJlDFdRba" title="Common stock, par value"&gt;0.001&lt;/span&gt;
per share, at a purchase price of $&lt;span id="xdx_907_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_z5XsTcrWurD2" title="Sale of common stock purchase price per shares"&gt;3.08&lt;/span&gt; per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $&lt;span id="xdx_908_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zgDrmqSDjG04" title="Issuance of common stock gross proceeds"&gt;10,240,002&lt;/span&gt; and the Company received net proceeds of $&lt;span id="xdx_90B_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zIbC0SuOLBS9" title="Net proceeds from issuance of common stock"&gt;9,612,561&lt;/span&gt; after deducting offering costs of $&lt;span id="xdx_90C_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockOneMember_zodV0FCCw68l" title="Offering costs"&gt;627,441&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company completed the sale of &lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zkcHULtzhQY2" title="Number of common stock issued"&gt;470,000&lt;/span&gt; shares of the Company&#x2019;s common stock, par value $&lt;span id="xdx_90C_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zGB5ILDff8G2" title="Common stock, par value"&gt;0.001&lt;/span&gt;
per share, at a purchase price of $&lt;span id="xdx_900_eus-gaap--SaleOfStockPricePerShare_iI_c20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zUw8cHWquFme" title="Sale of common stock purchase price per shares"&gt;9.00&lt;/span&gt; per share in a registered direct offering. The aggregate gross proceeds for the sale of the shares
were $&lt;span id="xdx_90A_eus-gaap--ProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zLrXHfEtQJw3" title="Issuance of common stock gross proceeds"&gt;4,230,000&lt;/span&gt; and the Company received net proceeds of $&lt;span id="xdx_90F_ecustom--NetProceedsFromIssuanceOfCommonStock_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zHxGU7Jd0vZb" title="Net proceeds from issuance of common stock"&gt;3,882,420&lt;/span&gt; after deducting offering costs of $&lt;span id="xdx_904_eus-gaap--PaymentsOfStockIssuanceCosts_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--CommonStockTwoMember_zjk8UNZ7qztl" title="Offering costs"&gt;347,580&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company issued an aggregate of &lt;span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20200101__20201231__us-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis__us-gaap--ConvertiblePreferredStockMember_zRkvveTDvmT4" title="Potentially dilutive shares"&gt;&lt;span title="Potentially dilutive shares"&gt;2,133,333&lt;/span&gt;&lt;/span&gt; shares of common stock upon conversion of all of the Company&#x2019;s
convertible preferred stock outstanding as of December 31, 2019.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company issued &lt;span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_zz5zH3mbLDil" title="Number of shares issued for exercise of options"&gt;856,660&lt;/span&gt; shares of common stock upon the exercise of warrants and received $&lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z2lgDEI3Zf85" title="Number of shares issued for exercise of options, value"&gt;270,000&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company issued &lt;span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zX2gmtVSn0hf"&gt;871,229
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;shares of common stock upon the exercise of options
and received $&lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodValueStockOptionsExercised_pp0p0_c20200101__20201231__us-gaap--StatementEquityComponentsAxis__custom--OptionsMember_zl1ciwHuKjFl"&gt;1,460,600&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the year ended December 31, 2020, the Company issued &lt;span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20200101__20201231__srt--ProductOrServiceAxis__custom--InvestmentRelationsServicesMember_zytGZOucaNGa" title="Number of shares issued for services"&gt;83,935&lt;/span&gt; shares of common stock for services provided by third parties primarily related
to investor relations services.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2021-01-012021-12-31_custom_OptionsMember"
      decimals="INF"
      unitRef="Shares">189225</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2021-01-012021-12-31_custom_OptionsMember"
      decimals="0"
      unitRef="USD">450398</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2021-01-012021-12-31_custom_ThirdPartiesMember"
      decimals="INF"
      unitRef="Shares">5548</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <CODX:StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">438502</CODX:StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="From2021-01-012021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="INF"
      unitRef="Shares">4628554</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <CODX:StockIssuedDuringPeriodSharesForfeited
      contextRef="From2021-01-012021-12-31_custom_AdvancedConceptionsIncAndIdahoMolecularIncMember"
      decimals="INF"
      unitRef="Shares">1390430</CODX:StockIssuedDuringPeriodSharesForfeited>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember"
      decimals="INF"
      unitRef="Shares">3448278</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2020-12-31_custom_CommonStockThreeMember"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2020-12-31_custom_CommonStockThreeMember"
      decimals="INF"
      unitRef="USDPShares">1.45</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember"
      decimals="0"
      unitRef="USD">5000003</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <CODX:NetProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember"
      decimals="0"
      unitRef="USD">4517102</CODX:NetProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2020-01-012020-12-31_custom_CommonStockThreeMember"
      decimals="0"
      unitRef="USD">482901</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember"
      decimals="INF"
      unitRef="Shares">3324676</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2020-12-31_custom_CommonStockOneMember"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2020-12-31_custom_CommonStockOneMember"
      decimals="INF"
      unitRef="USDPShares">3.08</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember"
      decimals="0"
      unitRef="USD">10240002</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <CODX:NetProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember"
      decimals="0"
      unitRef="USD">9612561</CODX:NetProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2020-01-012020-12-31_custom_CommonStockOneMember"
      decimals="0"
      unitRef="USD">627441</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember"
      decimals="INF"
      unitRef="Shares">470000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2020-12-31_custom_CommonStockTwoMember"
      decimals="INF"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2020-12-31_custom_CommonStockTwoMember"
      decimals="INF"
      unitRef="USDPShares">9.00</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember"
      decimals="0"
      unitRef="USD">4230000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <CODX:NetProceedsFromIssuanceOfCommonStock
      contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember"
      decimals="0"
      unitRef="USD">3882420</CODX:NetProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="From2020-01-012020-12-31_custom_CommonStockTwoMember"
      decimals="0"
      unitRef="USD">347580</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2020-01-012020-12-31_us-gaap_ConvertiblePreferredStockMember"
      decimals="INF"
      unitRef="Shares">2133333</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_WarrantMember"
      decimals="INF"
      unitRef="Shares">856660</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31_us-gaap_WarrantMember"
      decimals="0"
      unitRef="USD">270000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2020-01-012020-12-31_custom_OptionsMember"
      decimals="INF"
      unitRef="Shares">871229</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="From2020-01-012020-12-31_custom_OptionsMember"
      decimals="0"
      unitRef="USD">1460600</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2020-01-012020-12-31_custom_InvestmentRelationsServicesMember"
      decimals="INF"
      unitRef="Shares">83935</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_80B_eus-gaap--EarningsPerShareTextBlock_zPlO6JEBOXA1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
10 &#x2013; &lt;span id="xdx_822_zvurEZf7HrH2"&gt;Earnings per Share&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_898_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zvjSVyVnsKN7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zuko8FVVHRHe" style="display: none"&gt;Schedule of Basic and Diluted Earnings Per Share&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20210101__20211231_zZGyLnlyehR1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20200101__20201231_z5rflwldMre6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Numerator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--NetIncomeLoss_zFxZyDWSm9Tj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left; padding-bottom: 2.5pt"&gt;Net income, as reported&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right"&gt;36,658,564&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right"&gt;42,478,529&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold"&gt;Denominator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--WeightedAverageNumberOfBasicSharesOutstanding_z9rDjysXCQjl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Weighted average shares, basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;28,874,555&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26,720,133&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_zeyOWIHhGcR" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Dilutive effect of stock options, warrants and RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,029,131&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,280,208&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z1WOt8gJsnCg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Shares used to compute diluted earnings per share&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;29,903,686&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;28,000,341&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--EarningsBasicPerShare_pid_zwjmKUucUBMk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.27&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.59&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zu3nZxnifDu1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Diluted earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.23&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.52&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A1_zqVbragJJJdf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;For
the years ended December 31, 2021 and 2020, respectively, potentially dilutive securities of &lt;span id="xdx_90A_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20211231_zdl5scLQdEdb" title="Securities excluded from computation of diluted earnings per share"&gt;154,644 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;and &lt;span id="xdx_905_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20200101__20201231_zxI5n202v1vh" title="Securities excluded from computation of diluted earnings per share"&gt;50,000 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;were
excluded from the computation of diluted earnings per share because the effect would have been anti-dilutive. The computation of
diluted earnings per share for the year ended December 31, 2021 also excludes the approximately &lt;span id="xdx_907_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_pn5n6_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zwEZQeLBALWe" title="Securities excluded from computation of diluted earnings per share"&gt;1.4&lt;/span&gt; million shares of common stock
and approximately &lt;span id="xdx_90B_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z1rWnBfHdjtl" title="Securities excluded from computation of diluted earnings per share"&gt;456,000&lt;/span&gt; warrants to purchase shares of common stock mentioned in Note 3 that are contingent upon the achievement
of certain milestones.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_898_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zvjSVyVnsKN7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share for years ended December
31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zuko8FVVHRHe" style="display: none"&gt;Schedule of Basic and Diluted Earnings Per Share&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_490_20210101__20211231_zZGyLnlyehR1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20200101__20201231_z5rflwldMre6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold"&gt;Numerator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--NetIncomeLoss_zFxZyDWSm9Tj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 60%; text-align: left; padding-bottom: 2.5pt"&gt;Net income, as reported&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right"&gt;36,658,564&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; width: 16%; text-align: right"&gt;42,478,529&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold"&gt;Denominator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--WeightedAverageNumberOfBasicSharesOutstanding_z9rDjysXCQjl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Weighted average shares, basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;28,874,555&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;26,720,133&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--WeightedAverageNumberDilutedSharesOutstandingAdjustment_zeyOWIHhGcR" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Dilutive effect of stock options, warrants and RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,029,131&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,280,208&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_z1WOt8gJsnCg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Shares used to compute diluted earnings per share&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;29,903,686&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;28,000,341&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--EarningsBasicPerShare_pid_zwjmKUucUBMk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Basic earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.27&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.59&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EarningsPerShareDiluted_pid_zu3nZxnifDu1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Diluted earnings per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.23&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1.52&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">36658564</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">42478529</us-gaap:NetIncomeLoss>
    <CODX:WeightedAverageNumberOfBasicSharesOutstanding
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">28874555</CODX:WeightedAverageNumberOfBasicSharesOutstanding>
    <CODX:WeightedAverageNumberOfBasicSharesOutstanding
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">26720133</CODX:WeightedAverageNumberOfBasicSharesOutstanding>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">1029131</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">1280208</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">29903686</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">28000341</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <CODX:EarningsBasicPerShare
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.27</CODX:EarningsBasicPerShare>
    <CODX:EarningsBasicPerShare
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.59</CODX:EarningsBasicPerShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.23</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">154644</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">50000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2021-01-012021-12-31_us-gaap_CommonStockMember"
      decimals="-5"
      unitRef="Shares">1400000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2021-01-012021-12-31_us-gaap_WarrantMember"
      decimals="INF"
      unitRef="Shares">456000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_804_eus-gaap--DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_zqgYsPW32A6d" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
11 &#x2013; &lt;span id="xdx_82B_zmXv6YJ17NRb"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock
Incentive Plans&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Co-Diagnostics, Inc. 2015 Long Term Incentive Plan (the &#x201c;Incentive Plan&#x201d;) reserves an aggregate of &lt;span id="xdx_90F_eus-gaap--CommonStockCapitalSharesReservedForFutureIssuance_iI_c20211231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zQYDjqMWpgvk" title="Aggregate number of common shares reserved"&gt;6,000,000&lt;/span&gt; shares of common
stock issuable upon the grant of awards under the Incentive Plan. The number of awards available for issuance under the Incentive Plan
was &lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_iI_c20211231__us-gaap--PlanNameAxis__custom--TwoThousandFifteenLongTermIncentivePlanMember_zVvIVWFIoF1l" title="Number of common shares availalble for issuance"&gt;2,095,266&lt;/span&gt; at December 31, 2021.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock
Options&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMfb86rXn0r7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes option activity during the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BC_z03x74Z7fs93" style="display: none"&gt;Schedule of Option Activity&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Exercise Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20200101__20201231_ztdVRq5N7rE8" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning"&gt;2,021,817&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20200101__20201231_zZWf6QXaooHk" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;1.69&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231_zf1NGllhgP23" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;0.83&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20200101__20201231_z59B0Xpb03oc" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_znF4tsjzrcUh" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;8.14&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zWjTCvmZ7Mwk" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;4.74&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&#160;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20200101__20201231_zT3WstzYKuwf" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0973"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zmP4Yj006WC3" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0975"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20200101__20201231_z0JCWPwmbCAj" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0977"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20200101__20201231_zsFbtyYEgiH2" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0979"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_zLYxE78b8gDf" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0981"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_zRwwh1Ig0Wc5" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0983"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20200101__20201231_zHmP1kvljX9b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;(871,229&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20200101__20201231_zWfbptXIaKW2" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;1.68&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20200101__20201231_z4PGQSkTTkNc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;0.89&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20211231_zWqhIAv9C4pk" style="text-align: right" title="Number of Options Outstanding, Beginning"&gt;1,300,588&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20210101__20211231_zJAhXB8AAiQ3" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;2.44&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231_zlFwd1sRp1V2" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;1.24&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20210101__20211231_zDDDwxugm0vd" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0997"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zjOw7uQYPt3h" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0999"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_z5RLnB4mfnCi" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1001"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20211231_zwUUtk5ntwy9" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1003"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zOJoZ0jOMXB7" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1005"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20210101__20211231_z53mqZjkAmVg" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1007"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20210101__20211231_zegbUITxxHAi" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1009"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_za8NHKjNXDy" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1011"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zpW4uc6RxFL1" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1013"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20210101__20211231_z13yGKE6Lmmh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;(189,225&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20210101__20211231_zXTl5utKRtvc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;2.38&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20210101__20211231_zWUmpRzg3FPl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;1.12&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20211231_zF3A17QbjeMb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending"&gt;1,111,363&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zseBZ53bLYsc" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending"&gt;2.12&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231_zbhLRzuALPce" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending"&gt;1.31&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_pid_dtY_c20210101__20211231_zugm00qLGxK1" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending"&gt;6.62&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20211231_z3URBBN68syl" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending"&gt;1,094,697&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zmeQJBC1ofd4" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending"&gt;2.01&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20210101__20211231_zaXDswJXKuHl" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending"&gt;1.18&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20211231_zhvOZgXRUVD3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending"&gt;6.59&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A8_zE1OF3F2TfXj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
total intrinsic value of options exercised during the years ended December 31, 2021 and 2020 was approximately $&lt;span id="xdx_90B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zxy1zRKyprVb"&gt;1.3
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;million and $&lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20200101__20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z5PMaPorwI71"&gt;11.8
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;million, respectively. The aggregate intrinsic
value of outstanding options at December 31, 2021 and 2020 was approximately $&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z0tPjF3tE3Hl"&gt;7.6
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;million and $&lt;span id="xdx_904_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pn5n6_c20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zCDasHp5jsf8"&gt;7.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;million, respectively.
As of December 31, 2021, there were &lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares_iI_pid_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zrGZd6zl9eVb" title="Unvested options"&gt;16,666
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;unvested options and $&lt;span id="xdx_902_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pip0_c20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_z2sZOlVw1Usj" title="Unrecognized stock-based compensation"&gt;78,115
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;of unrecognized stock-based compensation
expense related to options. The unrecognized stock-based compensation expense is expected to be recognized over &lt;span id="xdx_909_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zqfFLx4WXpgf" title="Unrecognized stock-based compensation recognition period"&gt;0.5
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Stock-based
compensation cost is measured at the grant date based on the fair value of the award granted and recognized as expense over the vesting
period using the straight-line method. The Company uses the Black-Scholes model to value options granted. The following weighted average
assumptions were used in estimating the grant date fair value of options:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zuQMSoTypzkk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span id="xdx_8B5_zGZYUBOR4y57" style="display: none"&gt;Schedule of Fair Value of Options Weighted Average Assumptions&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Risk-free interest rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_uPure_c20210101__20211231_zXvOiKUIXLSg" title="Risk-free interest rate"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1049"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20200101__20201231_zqFi97nu0QEk" title="Risk-free interest rate"&gt;1.05&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected life (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_c20210101__20211231_z4MN2Gzt3Mq7" title="Expected life (years)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1053"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20200101__20201231_z9SGo41sCH01" title="Expected life (years)"&gt;7.3&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_uPure_c20210101__20211231_z3M9emPm5qn4" title="Expected volatility"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1057"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20200101__20201231_z7SXVIPxgUl1" title="Expected volatility"&gt;62.82&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected dividend yield&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpxL_uPure_c20210101__20211231_z9xxifgwo94f" style="text-align: right" title="Expected dividend yield"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1061"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpn_uPure_c20200101__20201231_zhbbCav9JuG2" style="text-align: right" title="Expected dividend yield"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;None&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A1_zxbuYX5Y3Gil" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;



&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Restricted
Stock Units&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zdxbdHWLfY52" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#x2019;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zSPdVrsBLCA9" style="display: none"&gt;Schedule of Outstanding Restricted Stock Units and Related Activity&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Grant Date Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unvested at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKj7oMdvTZS" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1067"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2KO0l2hhhge" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1069"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztHOH8AexPU" style="width: 16%; text-align: right" title="Number of Restricted Stock Units, Granted"&gt;549,500&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zRD8wDeHFPVg" style="width: 16%; text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;10.49&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0d2hrhaDSQ6" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(27,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHwkNVsfq80e" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;10.49&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXhA4vanc5Sb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1079"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdpgeWJJSZtc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1081"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unvested at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zpIxJz52LHOa" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;522,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0k7esXOm9I9" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;10.49&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOcWgmeoo1q7" style="text-align: right" title="Number of Restricted Stock Units, Granted"&gt;1,217,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0lhzF20z274" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;9.76&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zU59ccI4xKZ7" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(438,502&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zj4OBMLUd9i6" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;10.10&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8wTTKHzZV6d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;(34,083&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zfunQIOUTEY9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;9.91&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unvested at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znJYHW8cebcg" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending"&gt;1,267,415&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqEk7mxbcjJ3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending"&gt;9.94&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zYgWVVCbjhS" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of December 31, 2021, there was $&lt;span id="xdx_900_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pn5n6_c20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOvpm3yhiKf8" title="Unrecognized stock-based compensation"&gt;11.6&lt;/span&gt; million of unrecognized stock-based compensation expense related to outstanding RSUs which is expected
to be recognized over a weighted-average period of &lt;span id="xdx_90C_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znc4A15m5KW" title="Unrecognized stock-based compensation recognition period"&gt;2.3&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Warrants&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has issued warrants related to financings, acquisitions and as compensation to third parties for services provided. The Company
estimates the fair value of issued warrants on the date of issuance as determined using a Black-Scholes pricing model. The Company amortizes
the fair value of issued warrants using a vesting schedule based on the terms and conditions of each warrant if granted for services.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89D_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zoc3OClcrw9c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes warrant activity during the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zDPlnfi3RWNk" style="display: none"&gt;Schedule of Warrant Activity&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Exercise Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20200101__20201231_zgSmBBhNcfH7" style="width: 12%; text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;983,535&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20200101__20201231_zTTpPpAxtjFg" style="width: 12%; text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;1.44&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20200101__20201231_zhaJPvQ9a8q1" style="width: 12%; text-align: right" title="Weighted Average Fair Value, Beginning"&gt;1.03&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20200101__20201231_zz8Ugk0nrQRl" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;20,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zSBS8JTaKKuj" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;1.40&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zYedL0cnZYEk" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;15.19&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20200101__20201231_zHSZza5Q46Gg" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;(9,090&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;6.00&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;0.17&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20200101__20201231_pdd" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1127"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1129"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1131"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20200101__20201231_zcPYfJXd5BX1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;(924,445&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;1.42&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_z9m0ZiGZGdE6" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;1.43&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20210101__20211231_z8A0MfXBQMs3" style="text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;70,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20211231_zlJurqfxwpL1" style="text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;1.83&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20210101__20211231_zFA1Kkjk4hve" style="text-align: right" title="Weighted Average Fair Value, Beginning"&gt;5.21&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20200101__20201231_zPqMwsByDKX1" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning"&gt;3.3&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20210101__20211231_zpEOrU0KXted" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;456,281&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_z93lk9ynJ1Ra" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zbwuFdjcDFX7" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;3.83&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20210101__20211231_zI0GvYE0Lli" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1153"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zJ3m9g150fRb" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1155"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20210101__20211231_zRryHhVq4t1i" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1157"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20210101__20211231_zxdYOGQuov42" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1159"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_zZeNGQ4VFTl6" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1161"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zLFQmA0k6r43" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1163"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20210101__20211231_zB6Hy9h4MgPj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1165"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20211231_zeKmnrt1D1Ac" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1167"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zNJvTxhkQiEl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1169"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20210101__20211231_zP0tRVtnrDHj" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending"&gt;526,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_c20210101__20211231_zbzTbWnfSag3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending"&gt;8.15&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_c20210101__20211231_zbnXEdStRhzj" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending"&gt;4.01&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_90A_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231_z9wk49yHjIt7" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Ending"&gt;4.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zOA32fHdf4ul" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
intrinsic value of warrants exercised during the years ended December 31, 2021 and 2020 was $&lt;span id="xdx_90F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20211231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_ziiwU69AAvs5" title="Intrinsic value of warrants exercised"&gt;0&lt;/span&gt; and approximately $&lt;span id="xdx_904_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue_pn5n6_c20200101__20201231__us-gaap--AwardTypeAxis__custom--StockOptionsMember_zYr3dLcsF7o" title="Intrinsic value of warrants exercised"&gt;9.7&lt;/span&gt; million, respectively.
The aggregate intrinsic value of outstanding warrants at December 31, 2021 was approximately $&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_iI_pp0p0_c20211231__us-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z17zlr2H7eVl" title="Intrinsic value of options outstanding"&gt;497,000&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--ClassOfWarrantExercisable_iI_c20211231_zCR4tHSVU0g4" title="Warrants exercisable"&gt;70,000&lt;/span&gt;
warrants are exercisable at December 31, 2021. As discussed in Note 3 and Note 4, approximately &lt;span id="xdx_907_eus-gaap--ClassOfWarrantOrRightOutstanding_iI_c20211231_zIbB2J8b7as2" title="Warrants purchase"&gt;456,000&lt;/span&gt; warrants to purchase shares of
the Company&#x2019;s common stock were issued in connection with the acquisition of ACI and IdMo. The ability to exercise the warrants
is contingent upon the achievement of certain development and revenue milestones on or before January 1, 2027. There was no unrecognized
stock-based compensation expense related to warrants.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;See
Note 4 for additional information regarding the fair value calculation of the warrants issued during the year ended December 31, 2021.
The fair values for the warrants issued during the year ended December 31, 2020 were estimated at the date of grant using the Black Scholes
model with the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_ecustom--ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_zqSOWiYk8mai" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span id="xdx_8B3_zwJgYjTNt9Pe" style="display: none"&gt;Schedule of Fair Value of Warrants Assumptions&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Risk-free interest rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zTa8wc1yHAq1" title="Warrants outstanding, measurement input"&gt;0.34&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected life (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_z5upFdIICx5f" title="Warrants, expected life"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90A_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputOptionVolatilityMember_zADCevmXEtLj" title="Warrants outstanding, measurement input"&gt;61.42&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected dividend yield&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_dn_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedDividendRateMember_zgdrggoMTiy" title="Warrants outstanding, measurement input"&gt;None&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_z5u27N2jcE3j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock
Issued for Services&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has issued restricted stock to third parties for services provided. The grant date fair value of the restricted stock granted
is determined using the closing market price of the Company&#x2019;s common stock on the grant date with the associated compensation expense
amortized over the vesting period of the stock awards. The Company issued &lt;span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20210101__20211231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_zrorJRhIKQ07" title="Number of shares issued for services"&gt;5,548&lt;/span&gt; and &lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20200101__20201231__srt--TitleOfIndividualAxis__custom--ThirdPartiesMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockMember_z7aVaQlQib6f" title="Number of shares issued for services"&gt;83,935&lt;/span&gt; shares of restricted stock for services during
the years ended December 31, 2021 and 2020, respectively, and there was no unrecognized stock-based compensation expense related to restricted
stock issued.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Stock-Based
Compensation Expense&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zYppEJUwsZDl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognized stock-based compensation expense related to the types of awards discussed above as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_z4J5iA0u0fxf" style="display: none"&gt;Schedule of Recognized Stock-based Compensation Expense&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20210101__20211231_zT4Hf0hlHu41" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20200101__20201231_zxacGCeS2hB5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMscvFbk3PUc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Options&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;292,754&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;901,345&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvvTXrYkiacd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Restricted stock units&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,164,750&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500,861&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z9i08GP7cQDd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Warrants&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1211"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: right"&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;303,802&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--StockCompensationPlanMember_zHVTkU2ozsn1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Stock&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;51,900&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,032,033&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_zeM83qAn8CVi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total stock-based compensation expense&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;5,509,404&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,738,041&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_zDMo5YgxXMig" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="AsOf2021-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember"
      decimals="INF"
      unitRef="Shares">6000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2021-12-31_custom_TwoThousandFifteenLongTermIncentivePlanMember"
      decimals="INF"
      unitRef="Shares">2095266</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89E_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMfb86rXn0r7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes option activity during the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BC_z03x74Z7fs93" style="display: none"&gt;Schedule of Option Activity&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Options&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Exercise Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20200101__20201231_ztdVRq5N7rE8" style="width: 12%; text-align: right" title="Number of Options Outstanding, Beginning"&gt;2,021,817&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20200101__20201231_zZWf6QXaooHk" style="width: 12%; text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;1.69&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231_zf1NGllhgP23" style="width: 12%; text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;0.83&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20200101__20201231_z59B0Xpb03oc" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_znF4tsjzrcUh" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;8.14&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zWjTCvmZ7Mwk" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;4.74&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&#160;&#160;&#160;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20200101__20201231_zT3WstzYKuwf" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0973"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zmP4Yj006WC3" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0975"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20200101__20201231_z0JCWPwmbCAj" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0977"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20200101__20201231_zsFbtyYEgiH2" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0979"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_zLYxE78b8gDf" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0981"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_zRwwh1Ig0Wc5" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0983"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20200101__20201231_zHmP1kvljX9b" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;(871,229&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20200101__20201231_zWfbptXIaKW2" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;1.68&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20200101__20201231_z4PGQSkTTkNc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;0.89&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20211231_zWqhIAv9C4pk" style="text-align: right" title="Number of Options Outstanding, Beginning"&gt;1,300,588&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_pid_c20210101__20211231_zJAhXB8AAiQ3" style="text-align: right" title="Weighted Average Exercise Price Outstanding, Beginning"&gt;2.44&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231_zlFwd1sRp1V2" style="text-align: right" title="Weighted Average Fair Value Outstanding, Beginning"&gt;1.24&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_c20210101__20211231_zDDDwxugm0vd" style="text-align: right" title="Number of Options Outstanding, Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0997"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zjOw7uQYPt3h" style="text-align: right" title="Weighted Average Exercise Price Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0999"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_z5RLnB4mfnCi" style="text-align: right" title="Weighted Average Fair Value Granted"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1001"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20211231_zwUUtk5ntwy9" style="text-align: right" title="Number of Options Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1003"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zOJoZ0jOMXB7" style="text-align: right" title="Weighted Average Exercise Price Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1005"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c20210101__20211231_z53mqZjkAmVg" style="text-align: right" title="Weighted Average Fair Value Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1007"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_c20210101__20211231_zegbUITxxHAi" style="text-align: right" title="Number of Options Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1009"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_za8NHKjNXDy" style="text-align: right" title="Weighted Average Exercise Price Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1011"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zpW4uc6RxFL1" style="text-align: right" title="Weighted Average Fair Value Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1013"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--StockIssuedDuringPeriodSharesStockOptionsExercised1_iN_di_c20210101__20211231_z13yGKE6Lmmh" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Options Outstanding, Exercised"&gt;(189,225&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_pid_c20210101__20211231_zXTl5utKRtvc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price Exercised"&gt;2.38&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised_iE_pid_c20210101__20211231_zWUmpRzg3FPl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value Exercised"&gt;1.12&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20211231_zF3A17QbjeMb" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Outstanding, Ending"&gt;1,111,363&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zseBZ53bLYsc" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price Outstanding, Ending"&gt;2.12&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231_zbhLRzuALPce" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value Outstanding, Ending"&gt;1.31&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_pid_dtY_c20210101__20211231_zugm00qLGxK1" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years) Outstanding, Ending"&gt;6.62&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20211231_z3URBBN68syl" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Options Exercisable Ending"&gt;1,094,697&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20211231_zmeQJBC1ofd4" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Exercisable Ending"&gt;2.01&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable_iE_pid_c20210101__20211231_zaXDswJXKuHl" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Exercisable Ending"&gt;1.18&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20211231_zhvOZgXRUVD3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted-average Remaining Contractual Life (years), Exercisable Ending"&gt;6.59&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2019-12-31" decimals="INF" unitRef="Shares">2021817</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2019-12-31"
      decimals="INF"
      unitRef="USDPShares">1.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2019-12-31"
      decimals="INF"
      unitRef="USDPShares">0.83</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">150000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">8.14</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">4.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <CODX:StockIssuedDuringPeriodSharesStockOptionsExercised1
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">871229</CODX:StockIssuedDuringPeriodSharesStockOptionsExercised1>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.68</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">0.89</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">1300588</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">2.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.24</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <CODX:StockIssuedDuringPeriodSharesStockOptionsExercised1
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">189225</CODX:StockIssuedDuringPeriodSharesStockOptionsExercised1>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">2.38</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.12</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">1111363</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">2.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.31</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2021-01-01to2021-12-31">P6Y7M13D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">1094697</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">2.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">1.18</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="From2021-01-01to2021-12-31">P6Y7M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2021-01-012021-12-31_custom_StockOptionsMember"
      decimals="-5"
      unitRef="USD">1300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2020-01-012020-12-31_custom_StockOptionsMember"
      decimals="-5"
      unitRef="USD">11800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2021-12-31_custom_StockOptionsMember"
      decimals="-5"
      unitRef="USD">7600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2020-12-31_custom_StockOptionsMember"
      decimals="-5"
      unitRef="USD">7100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
      contextRef="AsOf2021-12-31_custom_StockOptionsMember"
      decimals="INF"
      unitRef="Shares">16666</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2021-12-31_custom_StockOptionsMember"
      decimals="0"
      unitRef="USD">78115</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2021-01-012021-12-31_custom_StockOptionsMember">P0Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89D_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zuQMSoTypzkk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span id="xdx_8B5_zGZYUBOR4y57" style="display: none"&gt;Schedule of Fair Value of Options Weighted Average Assumptions&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Risk-free interest rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_dp_uPure_c20210101__20211231_zXvOiKUIXLSg" title="Risk-free interest rate"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1049"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20200101__20201231_zqFi97nu0QEk" title="Risk-free interest rate"&gt;1.05&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected life (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_c20210101__20211231_z4MN2Gzt3Mq7" title="Expected life (years)"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1053"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20200101__20201231_z9SGo41sCH01" title="Expected life (years)"&gt;7.3&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;span id="xdx_90A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_dp_uPure_c20210101__20211231_z3M9emPm5qn4" title="Expected volatility"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1057"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20200101__20201231_z7SXVIPxgUl1" title="Expected volatility"&gt;62.82&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected dividend yield&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpxL_uPure_c20210101__20211231_z9xxifgwo94f" style="text-align: right" title="Expected dividend yield"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1061"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_dpn_uPure_c20200101__20201231_zhbbCav9JuG2" style="text-align: right" title="Expected dividend yield"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;None&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.0105</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="From2020-01-012020-12-31">P7Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.6282</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89D_eus-gaap--ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_zdxbdHWLfY52" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
grant date fair value of RSUs granted is determined using the closing market price of the Company&#x2019;s common stock on the grant date
with the associated compensation expense amortized over the vesting period of the awards. The following table sets forth the outstanding
RSUs and related activity for the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B7_zSPdVrsBLCA9" style="display: none"&gt;Schedule of Outstanding Restricted Stock Units and Related Activity&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of RSUs&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Grant Date Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unvested at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zKj7oMdvTZS" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1067"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z2KO0l2hhhge" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1069"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_ztHOH8AexPU" style="width: 16%; text-align: right" title="Number of Restricted Stock Units, Granted"&gt;549,500&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zRD8wDeHFPVg" style="width: 16%; text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;10.49&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0d2hrhaDSQ6" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(27,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zHwkNVsfq80e" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;10.49&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXhA4vanc5Sb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1079"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20200101__20201231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zdpgeWJJSZtc" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1081"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unvested at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iS_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zpIxJz52LHOa" style="text-align: right" title="Number of Restricted Stock Units, Outstanding Beginning"&gt;522,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iS_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0k7esXOm9I9" style="text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Beginning"&gt;10.49&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zOcWgmeoo1q7" style="text-align: right" title="Number of Restricted Stock Units, Granted"&gt;1,217,500&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z0lhzF20z274" style="text-align: right" title="Weighted Average Grant Date Fair Value, Granted"&gt;9.76&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Vested&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zU59ccI4xKZ7" style="text-align: right" title="Number of Restricted Stock Units, Vested"&gt;(438,502&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zj4OBMLUd9i6" style="text-align: right" title="Weighted Average Grant Date Fair Value, Vested"&gt;10.10&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_iN_di_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_z8wTTKHzZV6d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Restricted Stock Units, Forfeited/Cancelled"&gt;(34,083&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zfunQIOUTEY9" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Forfeited/Cancelled"&gt;9.91&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Unvested at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_iE_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_znJYHW8cebcg" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Restricted Stock Units, Outstanding Ending"&gt;1,267,415&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_iE_pid_c20210101__20211231__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zqEk7mxbcjJ3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Grant Date Fair Value, Outstanding Ending"&gt;9.94&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">549500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">10.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">27000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">10.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">522500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">10.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">1217500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">9.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">438502</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">10.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">34083</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">9.91</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="Shares">1267415</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="INF"
      unitRef="USDPShares">9.94</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="-5"
      unitRef="USD">11600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember">P2Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89D_eus-gaap--ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock_zoc3OClcrw9c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes warrant activity during the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zDPlnfi3RWNk" style="display: none"&gt;Schedule of Warrant Activity&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Number of Warrants&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Exercise Price&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Fair Value&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Weighted Average Remaining Contractual Life (Years)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 35%; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20200101__20201231_zgSmBBhNcfH7" style="width: 12%; text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;983,535&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20200101__20201231_zTTpPpAxtjFg" style="width: 12%; text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;1.44&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20200101__20201231_zhaJPvQ9a8q1" style="width: 12%; text-align: right" title="Weighted Average Fair Value, Beginning"&gt;1.03&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 12%; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20200101__20201231_zz8Ugk0nrQRl" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;20,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20200101__20201231_zSBS8JTaKKuj" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;1.40&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_zYedL0cnZYEk" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;15.19&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20200101__20201231_zHSZza5Q46Gg" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;(9,090&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;6.00&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;0.17&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20200101__20201231_pdd" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1127"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1129"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20200101__20201231_pdd" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1131"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20200101__20201231_zcPYfJXd5BX1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;(924,445&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20200101__20201231_pdd" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;1.42&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20200101__20201231_z9m0ZiGZGdE6" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;1.43&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iS_c20210101__20211231_z8A0MfXBQMs3" style="text-align: right" title="Number of Warrants Outstanding, Beginning"&gt;70,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20211231_zlJurqfxwpL1" style="text-align: right" title="Weighted Average Exercise Price, Beginning"&gt;1.83&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iS_c20210101__20211231_zFA1Kkjk4hve" style="text-align: right" title="Weighted Average Fair Value, Beginning"&gt;5.21&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90F_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20200101__20201231_zPqMwsByDKX1" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning"&gt;3.3&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Granted&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_c20210101__20211231_zpEOrU0KXted" style="text-align: right" title="Number of Warrants Outstanding, Granted"&gt;456,281&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20211231_z93lk9ynJ1Ra" style="text-align: right" title="Weighted Average Exercise Price, Granted"&gt;9.13&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zbwuFdjcDFX7" style="text-align: right" title="Weighted Average Fair Value, Granted"&gt;3.83&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Expired&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_iN_di_c20210101__20211231_zI0GvYE0Lli" style="text-align: right" title="Number of Warrants Outstanding, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1153"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20211231_zJ3m9g150fRb" style="text-align: right" title="Weighted Average Exercise Price, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1155"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue_c20210101__20211231_zRryHhVq4t1i" style="text-align: right" title="Weighted Average Fair Value, Expired"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1157"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;Forfeited/Cancelled&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_c20210101__20211231_zxdYOGQuov42" style="text-align: right" title="Number of Warrants Outstanding, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1159"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice_c20210101__20211231_zZeNGQ4VFTl6" style="text-align: right" title="Weighted Average Exercise Price, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1161"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue_c20210101__20211231_zLFQmA0k6r43" style="text-align: right" title="Weighted Average Fair Value, Forfeited/Cancelled"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1163"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_iN_di_c20210101__20211231_zB6Hy9h4MgPj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of Warrants Outstanding, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1165"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20211231_zeKmnrt1D1Ac" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Exercise Price, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1167"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_c20210101__20211231_zNJvTxhkQiEl" style="padding-bottom: 1.5pt; text-align: right" title="Weighted Average Fair Value, Exercised"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1169"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_iE_c20210101__20211231_zP0tRVtnrDHj" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Warrants Outstanding, Ending"&gt;526,281&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice_iE_c20210101__20211231_zbzTbWnfSag3" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Exercise Price, Ending"&gt;8.15&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue_iE_c20210101__20211231_zbnXEdStRhzj" style="padding-bottom: 2.5pt; text-align: right" title="Weighted Average Fair Value, Ending"&gt;4.01&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;span id="xdx_90A_ecustom--SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20211231_z9wk49yHjIt7" title="Weighted-average Remaining Contractual Life (Years) Outstanding, Ending"&gt;4.7&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="AsOf2019-12-31" decimals="INF" unitRef="Shares">983535</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2019-12-31"
      decimals="INF"
      unitRef="USDPShares">1.44</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue
      contextRef="AsOf2019-12-31"
      decimals="INF"
      unitRef="USDPShares">1.03</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.40</CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">15.19</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">9090</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">6.00</CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">0.17</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Shares">924445</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.42</CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.43</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="AsOf2020-12-31" decimals="INF" unitRef="Shares">70000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">1.83</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue
      contextRef="AsOf2020-12-31"
      decimals="INF"
      unitRef="USDPShares">5.21</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1 contextRef="From2020-01-012020-12-31">P3Y3M18D</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Shares">456281</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">9.13</CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="USDPShares">3.83</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">526281</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">8.15</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue
      contextRef="AsOf2021-12-31"
      decimals="INF"
      unitRef="USDPShares">4.01</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2021-01-01to2021-12-31">P4Y8M12D</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2021-01-012021-12-31_custom_StockOptionsMember"
      decimals="0"
      unitRef="USD">0</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue
      contextRef="From2020-01-012020-12-31_custom_StockOptionsMember"
      decimals="-5"
      unitRef="USD">9700000</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="AsOf2021-12-31_us-gaap_WarrantMember"
      decimals="0"
      unitRef="USD">497000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <CODX:ClassOfWarrantExercisable contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">70000</CODX:ClassOfWarrantExercisable>
    <us-gaap:ClassOfWarrantOrRightOutstanding contextRef="AsOf2021-12-31" decimals="INF" unitRef="Shares">456000</us-gaap:ClassOfWarrantOrRightOutstanding>
    <CODX:ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89B_ecustom--ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock_zqSOWiYk8mai" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span id="xdx_8B3_zwJgYjTNt9Pe" style="display: none"&gt;Schedule of Fair Value of Warrants Assumptions&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center; font-weight: bold"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Risk-free interest rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_908_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputRiskFreeInterestRateMember_zTa8wc1yHAq1" title="Warrants outstanding, measurement input"&gt;0.34&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected life (years)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--WarrantsAndRightsOutstandingTerm_iI_dtY_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedTermMember_z5upFdIICx5f" title="Warrants, expected life"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Expected volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_90A_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_pid_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputOptionVolatilityMember_zADCevmXEtLj" title="Warrants outstanding, measurement input"&gt;61.42&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Expected dividend yield&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_eus-gaap--WarrantsAndRightsOutstandingMeasurementInput_iI_dn_uPure_c20201231__us-gaap--MeasurementInputTypeAxis__us-gaap--MeasurementInputExpectedDividendRateMember_zgdrggoMTiy" title="Warrants outstanding, measurement input"&gt;None&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</CODX:ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2020-12-31_us-gaap_MeasurementInputRiskFreeInterestRateMember"
      decimals="INF"
      unitRef="Pure">0.34</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingTerm contextRef="AsOf2020-12-31_us-gaap_MeasurementInputExpectedTermMember">P5Y</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2020-12-31_us-gaap_MeasurementInputOptionVolatilityMember"
      decimals="INF"
      unitRef="Pure">61.42</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="AsOf2020-12-31_us-gaap_MeasurementInputExpectedDividendRateMember"
      decimals="INF"
      unitRef="Pure">0</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2021-01-012021-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">5548</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2020-01-012020-12-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember"
      decimals="INF"
      unitRef="Shares">83935</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_890_eus-gaap--ScheduleOfShareBasedCompensationActivityTableTextBlock_zYppEJUwsZDl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognized stock-based compensation expense related to the types of awards discussed above as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_z4J5iA0u0fxf" style="display: none"&gt;Schedule of Recognized Stock-based Compensation Expense&#160;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20210101__20211231_zT4Hf0hlHu41" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20200101__20201231_zxacGCeS2hB5" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Years Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zMscvFbk3PUc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Options&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;292,754&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;901,345&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zvvTXrYkiacd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Restricted stock units&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,164,750&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;500,861&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--StatementEquityComponentsAxis__us-gaap--WarrantMember_z9i08GP7cQDd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Warrants&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1211"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: right"&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;303,802&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AllocatedShareBasedCompensationExpense_hus-gaap--AwardTypeAxis__us-gaap--StockCompensationPlanMember_zHVTkU2ozsn1" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Stock&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;51,900&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,032,033&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--AllocatedShareBasedCompensationExpense_zeM83qAn8CVi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 2.5pt"&gt;Total stock-based compensation expense&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;5,509,404&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;2,738,041&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2021-01-012021-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      unitRef="USD">292754</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2020-01-012020-12-31_us-gaap_EmployeeStockOptionMember"
      decimals="0"
      unitRef="USD">901345</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="0"
      unitRef="USD">5164750</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2020-01-012020-12-31_us-gaap_RestrictedStockUnitsRSUMember"
      decimals="0"
      unitRef="USD">500861</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2020-01-012020-12-31_us-gaap_WarrantMember"
      decimals="0"
      unitRef="USD">303802</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2021-01-012021-12-31_us-gaap_StockCompensationPlanMember"
      decimals="0"
      unitRef="USD">51900</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2020-01-012020-12-31_us-gaap_StockCompensationPlanMember"
      decimals="0"
      unitRef="USD">1032033</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">5509404</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">2738041</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_805_eus-gaap--IncomeTaxDisclosureTextBlock_zaJ9u6yheya5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
12 &#x2013; &lt;span id="xdx_829_zk712nVAcEcg"&gt;Income Taxes&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zTKXUnErz1fa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of the provision for income taxes consists of the following for the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_z7Cp1oOGdV0i" style="display: none"&gt;Schedule
of Components Income Tax Provision&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20210101__20211231_zShenNxzG1c8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20200101__20201231_z2PbwxMbRZt1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zzWXkxpJ1Uog" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Current:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zM0KfOCi5CIf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%"&gt;Federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;6,092,730&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1228"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zVqlAThyPHG1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;State&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;886,173&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;637,760&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zOBsNLOVyZB4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total current&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;6,978,903&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;637,760&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zykaTr8BkKGh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Deferred:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zYzLaIbsrmd6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,394,686&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(452,544&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zztA6NM79arb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;State&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;603,642&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(94,680&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_mtDFSALzrPD_maITEBzvit_z0q8kKyykqu9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,998,328&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(547,224&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zP1MFqpfiuT" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total income tax expense&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,977,231&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;90,536&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


&lt;p id="xdx_8A3_z1mePTVWcASi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_899_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zvzNopN7hBW8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_zaoIomXFB0K2" style="display: none"&gt;Schedule
of Benefit from Income Taxes and Effective Tax Rates&lt;/span&gt;&lt;span/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20210101__20211231_z6980I8hDI6g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20200101__20201231_zHgGNEOhd5ol" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_zXpdCr0b1Na6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Federal income tax expense at statutory rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_z43tTiqrxf6a" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;State income tax expense, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3.9&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3.3&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zd3FK1leP3Ig" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Permanent differences:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_i01_dp_uPure_z072WVQLRVM3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;- Foreign derived intangible income deduction&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(3.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1.7)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01_dp_uPure_zoaAMt4usOA6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;- Stock based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(8.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_zNUDpmBZLhVd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;- Other permanent differences&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.3&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(0.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_zOXzPfkrL0Ga" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_dp_uPure_ztGJKUAy8S02" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Change in uncertain tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.4&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.1&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_dp_uPure_zGOC15NIMPec" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Change in valuation allowance&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(12.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_zjv7Wy0H8TB2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_dp_uPure_z91TLon6B3Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;19.7&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_z9mcYJ1gy8Qk" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zo7zM9wTTR57" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
deferred tax assets consist of the following components as of December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span id="xdx_8BE_zR77eQ2jgJHh" style="display: none"&gt;Schedule
of Deferred Tax Assets&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20211231_zRuUXuwIUBOe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20201231_zXG8j3w83SFe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zVed8GQr78j2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zUL3t1hIswf8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; text-align: left"&gt;Accrued liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1291"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;37,898&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_zCvfju4P0uDb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Reserves and allowances&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;166,050&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;200,049&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zNaj9KdaNZ34" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;393,871&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;241,652&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_i01I_maDTAGzwm0_z5clgJ7hJoP1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Research and development credits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1300"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;-&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;423,001&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_msDITLzwoD_z5ZVNCX4T4kk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;559,921&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;902,600&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zBYs5mvz33Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzcCv_z8VYSyUfNLuj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment, net&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(477,542&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(233,951&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzcCv_zBRpgH0PzwD1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Intangibles, net&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,743,972&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1313"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: right"&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzcCv_zdpp1B28ptK2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Prepaids&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(560,093&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(66,456&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzcCv_zogUOEOWEOA5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(6,758&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(54,969&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_mtDITLzcCv_mtDITLzwoD_zBMEIkuZDu4e" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(7,788,365&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(355,376&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net deferred tax assets (liabilities)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsOther_iI_c20211231_z7QLOaeDwNB9" style="text-align: right" title="Net deferred tax assets (liabilities)"&gt;(7,228,444&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsOther_iI_c20201231_zIu00fQcG41j" style="text-align: right" title="Net deferred tax assets (liabilities)"&gt;547,224&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredTaxAssetsValuationAllowance_iI_zDUT23wXA6k7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1328"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;-&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1329"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;-&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net deferred tax assets (liabilities)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsNet_iNI_di_c20211231_zj9KDJmsXWrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)"&gt;(7,228,444&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DeferredTaxAssetsNet_iI_c20201231_zV3CypcZDxS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)"&gt;547,224&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_zcK4IhvjT9K5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;At
December 31, 2021, the Company had &lt;span id="xdx_900_eus-gaap--OperatingLossCarryforwards_iI_do_c20211231_zUEXTNAo39Ji" title="Net operating loss carry-forwards"&gt;no&lt;/span&gt; federal or state net operating loss carryforwards and &lt;span id="xdx_904_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_iI_dxL_c20211231_zdNQYfU1vWod" title="Research and development credit carry forwards::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1337"&gt;no&lt;/span&gt;&lt;/span&gt; federal or state research and development
credit carryforwards. &lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;As
of each reporting date, management considers new evidence, both positive and negative, that could affect its view of the future realization
of deferred tax assets. As of December 31, 2020, in part because in that year the Company achieved three years of cumulative pre-tax
income, management determined that there was sufficient positive evidence to conclude that it was more likely than not that its deferred
taxes were realizable. The Company therefore fully reduced its valuation allowance accordingly by $&lt;span id="xdx_907_eus-gaap--ValuationAllowanceDeferredTaxAssetChangeInAmount_c20200101__20201231_zDm9TNvDXbU4" title="Deferred tax valuation allowance"&gt;5,161,500&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; background-color: white"&gt;ASC
Topic 740-10-05 requires that the impact of a tax position be recognized in the financial statements if that position is more likely
than not of being sustained on audit, based on the technical merits of the position. Our unrecognized tax benefit balances included $&lt;span id="xdx_902_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20211231_zSG1ucZ4iKjc" title="Unrecognized tax benefits that would impact effective tax rate"&gt;1,067,853&lt;/span&gt;
at December 31, 2021 and $&lt;span id="xdx_905_eus-gaap--UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_iI_c20201231_zvagCgJ0Lhv3" title="Unrecognized tax benefits that would impact effective tax rate"&gt;447,831&lt;/span&gt; at December 31, 2020 of tax positions that, if recognized, would impact our effective tax rate. The
Company expects no material changes to the liability for unrecognized tax benefits in the next 12 months. Interest and penalties associated
with uncertain tax positions are recorded as a component of income tax expense. A reconciliation of the beginning and ending amount of
unrecognized benefits is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_z22VrorrMuhf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_za9mSYEJIH0g" style="display: none"&gt;Schedule
of Unrecognized Tax Benefits&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Unrecognized tax benefits at the beginning of the year&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20210101__20211231_z2rLK0m68jT5" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;447,831&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--UnrecognizedTaxBenefits_iS_c20200101__20201231_zFX9j6gPsrge" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1349"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - current year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20210101__20211231_zErnTsgUcFtf" style="text-align: right" title="Gross increases- current year tax positions"&gt;770,069&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20200101__20201231_z1SoVnocukT" style="text-align: right" title="Gross increases - current year tax positions"&gt;232,145&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - prior year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20210101__20211231_z3OcJzGmbz85" style="text-align: right" title="Gross increases- prior year tax positions"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1355"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20200101__20201231_ztt2M6GbsmF7" style="text-align: right" title="Gross increases - prior year tax positions"&gt;215,686&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gross decreases - prior year tax positions&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20210101__20211231_zzOs3EuHtwoa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions"&gt;(150,047&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20200101__20201231_zqeqCjL4JRo9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases- prior year tax positions"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1361"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Unrecognized tax benefits at end of year&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--UnrecognizedTaxBenefits_iE_c20210101__20211231_zREENLBpF47e" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;1,067,853&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20200101__20201231_zSJpCk3fmkkh" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;447,831&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Interest and penalties in year-end balance&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20210101__20211231_z5sQtFWK2gV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1367"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20200101__20201231_zZ4KIHyneUth" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalities in year- end balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1369"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A3_z7WNCykoi0q8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is subject to taxation in the United States and other state jurisdictions. The tax years from December 31, 2017 through December
31, 2021 remain open to examination for federal income tax purposes and by the other major taxing jurisdictions to which the Company
is subject. The Company is not currently under examination by any taxing authority.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89B_eus-gaap--ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_zTKXUnErz1fa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
components of the provision for income taxes consists of the following for the years ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BE_z7Cp1oOGdV0i" style="display: none"&gt;Schedule
of Components Income Tax Provision&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20210101__20211231_zShenNxzG1c8" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_494_20200101__20201231_z2PbwxMbRZt1" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zzWXkxpJ1Uog" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Current:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--CurrentFederalTaxExpenseBenefit_i01_maCFSALzO40_zM0KfOCi5CIf" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%"&gt;Federal&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;6,092,730&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1228"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--CurrentStateAndLocalTaxExpenseBenefit_i01_maCFSALzO40_zVqlAThyPHG1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;State&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;886,173&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;637,760&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--CurrentFederalStateAndLocalTaxExpenseBenefit_i01T_mtCFSALzO40_maITEBzvit_zOBsNLOVyZB4" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total current&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;6,978,903&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;637,760&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefitAbstract_iB_zykaTr8BkKGh" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Deferred:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--DeferredFederalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zYzLaIbsrmd6" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Federal&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,394,686&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(452,544&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--DeferredStateAndLocalIncomeTaxExpenseBenefit_i01_maDFSALzrPD_zztA6NM79arb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;State&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;603,642&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(94,680&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--DeferredFederalStateAndLocalTaxExpenseBenefit_i01T_mtDFSALzrPD_maITEBzvit_z0q8kKyykqu9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,998,328&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(547,224&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--IncomeTaxExpenseBenefit_iT_mtITEBzvit_zP1MFqpfiuT" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Total income tax expense&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,977,231&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;90,536&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;


</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">6092730</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">886173</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">637760</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">6978903</us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">637760</us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">1394686</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-452544</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">603642</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-94680</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">1998328</us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">-547224</us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">8977231</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">90536</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_899_eus-gaap--ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_zvzNopN7hBW8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
reconciliation of income tax expense at the statutory federal income tax rate and income taxes as reflected in the financial statements
is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B1_zaoIomXFB0K2" style="display: none"&gt;Schedule
of Benefit from Income Taxes and Effective Tax Rates&lt;/span&gt;&lt;span/&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_492_20210101__20211231_z6980I8hDI6g" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20200101__20201231_zHgGNEOhd5ol" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;Year Ended December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_dp_uPure_zXpdCr0b1Na6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Federal income tax expense at statutory rate&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;21.0&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_dp_uPure_z43tTiqrxf6a" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;State income tax expense, net of federal tax benefit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3.9&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3.3&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract_iB_zd3FK1leP3Ig" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Permanent differences:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction_i01_dp_uPure_z072WVQLRVM3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;- Foreign derived intangible income deduction&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(3.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1.7)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_i01_dp_uPure_zoaAMt4usOA6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;- Stock based compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(8.8)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_i01_dp_uPure_zNUDpmBZLhVd" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;- Other permanent differences&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.3&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(0.4)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment_iN_dpi_uPure_zOXzPfkrL0Ga" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Research and development credits&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_ecustom--EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance_dp_uPure_ztGJKUAy8S02" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Change in uncertain tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.4&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1.1&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_dp_uPure_zGOC15NIMPec" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Change in valuation allowance&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;0.0&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(12.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherAdjustments_dp_uPure_zjv7Wy0H8TB2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_dp_uPure_z91TLon6B3Rk" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Effective income tax rate&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;19.7&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;0.2&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.039</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.033</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <CODX:EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">-0.035</CODX:EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction>
    <CODX:EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">-0.017</CODX:EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">-0.088</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">-0.004</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.026</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.020</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment>
    <CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.014</CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance>
    <CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.011</CODX:EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">-0.121</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="From2021-01-01to2021-12-31"
      decimals="INF"
      unitRef="Pure">0.197</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="From2020-01-012020-12-31"
      decimals="INF"
      unitRef="Pure">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_897_eus-gaap--ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_zo7zM9wTTR57" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Net
deferred tax assets consist of the following components as of December 31, 2021 and 2020:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span id="xdx_8BE_zR77eQ2jgJHh" style="display: none"&gt;Schedule
of Deferred Tax Assets&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="display: none; vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49A_20211231_zRuUXuwIUBOe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20201231_zXG8j3w83SFe" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxAssetsGrossAbstract_iB_zVed8GQr78j2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax assets:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_401_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_i01I_maDTAGzwm0_zUL3t1hIswf8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; width: 60%; text-align: left"&gt;Accrued liabilities&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1291"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;37,898&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_i01I_maDTAGzwm0_zCvfju4P0uDb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Reserves and allowances&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;166,050&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;200,049&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_i01I_maDTAGzwm0_zNaj9KdaNZ34" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;393,871&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;241,652&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredTaxAssetsInProcessResearchAndDevelopment_i01I_maDTAGzwm0_z5clgJ7hJoP1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Research and development credits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1300"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;-&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;423,001&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--DeferredTaxAssetsGross_i01TI_mtDTAGzwm0_msDITLzwoD_z5ZVNCX4T4kk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;559,921&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;902,600&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--DeferredTaxLiabilitiesAbstract_iB_zBYs5mvz33Zf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Deferred tax liabilities:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--DeferredTaxLiabilitiesPropertyPlantAndEquipment_i01NI_di_maDITLzcCv_z8VYSyUfNLuj" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment, net&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(477,542&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(233,951&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_i01NI_di_maDITLzcCv_zBRpgH0PzwD1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Intangibles, net&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,743,972&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1313"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: right"&gt;-&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--DeferredTaxLiabilitiesPrepaidExpenses_i01NI_di_maDITLzcCv_zdpp1B28ptK2" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Prepaids&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(560,093&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(66,456&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DeferredTaxLiabilitiesOther_i01NI_di_maDITLzcCv_zogUOEOWEOA5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(6,758&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(54,969&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--DeferredIncomeTaxLiabilities_i01NTI_di_mtDITLzcCv_mtDITLzwoD_zBMEIkuZDu4e" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total deferred tax liabilities&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(7,788,365&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(355,376&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net deferred tax assets (liabilities)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--DeferredTaxAssetsOther_iI_c20211231_z7QLOaeDwNB9" style="text-align: right" title="Net deferred tax assets (liabilities)"&gt;(7,228,444&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--DeferredTaxAssetsOther_iI_c20201231_zIu00fQcG41j" style="text-align: right" title="Net deferred tax assets (liabilities)"&gt;547,224&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_eus-gaap--DeferredTaxAssetsValuationAllowance_iI_zDUT23wXA6k7" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less valuation allowance&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1328"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;-&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1329"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;-&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Net deferred tax assets (liabilities)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--DeferredTaxAssetsNet_iNI_di_c20211231_zj9KDJmsXWrb" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)"&gt;(7,228,444&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--DeferredTaxAssetsNet_iI_c20201231_zV3CypcZDxS9" style="border-bottom: Black 2.5pt double; text-align: right" title="Net deferred tax assets (liabilities)"&gt;547,224&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">37898</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">166050</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">200049</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">393871</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">241652</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">423001</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsGross contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">559921</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">902600</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">477542</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">233951</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">6743972</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">560093</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">66456</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">6758</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">54969</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">7788365</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">355376</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsOther contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">-7228444</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">547224</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsNet contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">7228444</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">547224</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:OperatingLossCarryforwards contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">0</us-gaap:OperatingLossCarryforwards>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">5161500</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1067853</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">447831</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89E_eus-gaap--ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_z22VrorrMuhf" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8B6_za9mSYEJIH0g" style="display: none"&gt;Schedule
of Unrecognized Tax Benefits&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
&lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: center"&gt;2020&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Unrecognized tax benefits at the beginning of the year&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iS_c20210101__20211231_z2rLK0m68jT5" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;447,831&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--UnrecognizedTaxBenefits_iS_c20200101__20201231_zFX9j6gPsrge" style="width: 16%; text-align: right" title="Unrecognized tax benefits at the beginning of the year"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1349"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - current year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20210101__20211231_zErnTsgUcFtf" style="text-align: right" title="Gross increases- current year tax positions"&gt;770,069&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_c20200101__20201231_z1SoVnocukT" style="text-align: right" title="Gross increases - current year tax positions"&gt;232,145&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gross increases - prior year tax positions&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20210101__20211231_z3OcJzGmbz85" style="text-align: right" title="Gross increases- prior year tax positions"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1355"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eus-gaap--UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_c20200101__20201231_ztt2M6GbsmF7" style="text-align: right" title="Gross increases - prior year tax positions"&gt;215,686&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gross decreases - prior year tax positions&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20210101__20211231_zzOs3EuHtwoa" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases - prior year tax positions"&gt;(150,047&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_iN_di_c20200101__20201231_zqeqCjL4JRo9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Gross decreases- prior year tax positions"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1361"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Unrecognized tax benefits at end of year&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--UnrecognizedTaxBenefits_iE_c20210101__20211231_zREENLBpF47e" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;1,067,853&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--UnrecognizedTaxBenefits_iE_c20200101__20201231_zSJpCk3fmkkh" style="border-bottom: Black 2.5pt double; text-align: right" title="Unrecognized tax benefits at end of year"&gt;447,831&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 2.5pt"&gt;Interest and penalties in year-end balance&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20210101__20211231_z5sQtFWK2gV1" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalties in year-end balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1367"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued_iE_c20200101__20201231_zZ4KIHyneUth" style="border-bottom: Black 2.5pt double; text-align: right" title="Interest and penalities in year- end balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1369"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">447831</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">770069</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">232145</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">215686</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">150047</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefits contextRef="AsOf2021-12-31" decimals="0" unitRef="USD">1067853</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits contextRef="AsOf2020-12-31" decimals="0" unitRef="USD">447831</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_806_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zcaJ6fsseAFa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
13 &#x2013; &lt;span id="xdx_827_zl7CfGXc9Xhg"&gt;Related Party Transactions&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company acquired the exclusive rights to the CoPrimer technology pursuant to an exclusive license agreement, dated April 2014 (the &#x201c;Exclusive
License Agreement&#x201d;), between the Company and DNA Logix, Inc., which was assigned to Dr. Brent Satterfield, an executive officer,
prior to the Company&#x2019;s acquisition of DNA Logix, Inc. On March 1, 2017, the Company entered into an amendment to its Exclusive
License Agreement for its Cooperative Primers (&#x201c;License&#x201d;) technology with Dr. Satterfield. The amendment provided in part
that all accrued royalties under the License ceased as of January 1, 2017, and the Company agreed to pay to Dr. Satterfield $&lt;span id="xdx_901_eus-gaap--AccruedRoyaltiesCurrent_iI_c20170101__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zNjZTymIIkl2" title="Accrued royalties"&gt;700,000&lt;/span&gt;
of accrued royalties at the rate of $&lt;span id="xdx_902_eus-gaap--PaymentsForRoyalties_c20170101__20170130__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zeTE9fSKO6Re" title="Payment for royalties per month"&gt;10,000&lt;/span&gt; per month starting in January 2017. At December 31, 2021, the aggregate balance of this related
party liability was $&lt;span id="xdx_908_eus-gaap--DueToRelatedPartiesCurrentAndNoncurrent_iI_c20211231__us-gaap--TypeOfArrangementAxis__custom--ExclusiveLicenseAgreementMember__srt--TitleOfIndividualAxis__custom--DrBrentSatterfieldMember_zI7dC55ozIji" title="Due to related party"&gt;0&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:AccruedRoyaltiesCurrent
      contextRef="AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember"
      decimals="0"
      unitRef="USD">700000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:PaymentsForRoyalties
      contextRef="From2017-01-012017-01-30_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember"
      decimals="0"
      unitRef="USD">10000</us-gaap:PaymentsForRoyalties>
    <us-gaap:DueToRelatedPartiesCurrentAndNoncurrent
      contextRef="AsOf2021-12-31_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember"
      decimals="0"
      unitRef="USD">0</us-gaap:DueToRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_809_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zyWzXGnIz1X5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
14 &#x2013; &lt;span id="xdx_82B_zdGMdmEjK4D4"&gt;Commitments and Contingencies&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Lease
Obligations&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s offices are located at 2401 S. Foothill Dr., Suite D, Salt Lake City, Utah 84109-1479. In February 2020, the Company
entered into a &lt;span id="xdx_900_eus-gaap--LesseeOperatingLeaseTermOfContract_iI_dtY_c20200229_zMmnWzJ0bGQe" title="Operating lease, term"&gt;4&lt;/span&gt;-year lease agreement for its office space and in March 2020, the Company entered into an addendum with our landlord
for additional space. The aggregate space consists of approximately &lt;span id="xdx_902_eus-gaap--AreaOfLand_iI_uSqft_c20211231_zxmCxfnxSgl7" title="Area of land"&gt;13,687&lt;/span&gt; square feet at a monthly rate of $&lt;span id="xdx_90C_eus-gaap--PaymentsForRent_c20210101__20211231_zVg4Yn7l6DCb" title="Payments for rent"&gt;28,825&lt;/span&gt; and expires in &lt;span id="xdx_904_eus-gaap--LeaseExpirationDate1_dxL_c20210101__20211231_zIwM2LtuO1wc" title="Lease expiration date::XDX::2024-02-29"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1387"&gt;February
2024&lt;/span&gt;&lt;/span&gt;. As a result of business acquisitions during the year ended December 31, 2021, the Company also leases additional laboratory and
office space under two month-to-month leases. For the years ended December 31, 2021 and 2020, the Company expensed $&lt;span id="xdx_90C_eus-gaap--LeaseAndRentalExpense_c20210101__20211231_zdYqWXwLRjd8" title="Rent expenses"&gt;346,350&lt;/span&gt; and $&lt;span id="xdx_905_eus-gaap--LeaseAndRentalExpense_c20200101__20201231_zAn8BdbhBI09" title="Rent expenses"&gt;311,963&lt;/span&gt;,
respectively, for rent. The Company&#x2019;s future minimum lease payments were as follows as of December 31, 2021:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zJa74hmiEoC1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_zUcB0xAq46F9" style="display: none"&gt;Schedule
of Future Minimum Lease Payments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="4" style="border-bottom: Black 1.5pt solid; text-align: justify; font-weight: bold"&gt;Year Ending December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzrRH_ziBMHOHeBkXa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 80%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 2%; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;293,595&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzrRH_zP52gnggo36f" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;2023&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;303,059&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPzrRH_zDIGLmTsKza6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;50,774&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzrRH_zrkX3FUZqnFg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease payments &lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;647,428&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A0_zRuJYDZ1hGDg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Litigation&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Liabilities
for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable
that a liability has been incurred and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies
are expensed as incurred.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Five
different securities class action complaints were filed in July, September and December by certain stockholders of the Company against
the Company claiming that the Company promulgated false and misleading press releases to increase the price of our stock to improperly
benefit the officers and directors of the Company. The plaintiffs demand compensatory damages sustained as a result of the Company&#x2019;s
alleged wrongdoing in an amount to be proven at trial. The Company believes these lawsuits are without merit and intends to defend the
cases vigorously. The Company is unable to estimate a range of loss, if any, that could result were there to be an adverse final decision
in these cases. As of the date of this report, the Company does not believe it is probable that these cases will result in an unfavorable
outcome; however, if an unfavorable outcome were to occur in these cases, it is possible that the impact could be material to the Company&#x2019;s
results of operations in the period(s) in which any such outcome becomes probable and estimable.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract contextRef="AsOf2020-02-29">P4Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:AreaOfLand contextRef="AsOf2021-12-31" decimals="INF" unitRef="Sqft">13687</us-gaap:AreaOfLand>
    <us-gaap:PaymentsForRent
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">28825</us-gaap:PaymentsForRent>
    <us-gaap:LeaseAndRentalExpense
      contextRef="From2021-01-01to2021-12-31"
      decimals="0"
      unitRef="USD">346350</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LeaseAndRentalExpense
      contextRef="From2020-01-012020-12-31"
      decimals="0"
      unitRef="USD">311963</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_89C_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_zJa74hmiEoC1" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;span id="xdx_8BB_zUcB0xAq46F9" style="display: none"&gt;Schedule
of Future Minimum Lease Payments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td colspan="4" style="border-bottom: Black 1.5pt solid; text-align: justify; font-weight: bold"&gt;Year Ending December 31,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPzrRH_ziBMHOHeBkXa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; width: 80%; text-align: justify"&gt;2022&lt;/td&gt;&lt;td style="width: 2%; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;293,595&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPzrRH_zP52gnggo36f" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: justify"&gt;2023&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;303,059&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearThree_iI_maLOLLPzrRH_zDIGLmTsKza6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; padding-bottom: 1.5pt; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;50,774&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPzrRH_zrkX3FUZqnFg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease payments &lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;647,428&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2021-01-01to2021-12-31">&lt;p id="xdx_806_eus-gaap--SubsequentEventsTextBlock_zHRGrULDy1Ag" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0.35pt; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Note
15 &#x2013; &lt;span id="xdx_82A_zcMuOF8q4j85"&gt;Subsequent Events&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
March 2022, the Company&#x2019;s Board of Directors authorized a share repurchase program that would allow the Company to repurchase up
to $&lt;span id="xdx_902_eus-gaap--StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_pn5n6_c20220301__20220331__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zqJAGcwb79vk" title="Employee stock purchase plan"&gt;30&lt;/span&gt; million of CODX common stock. The repurchase program does not obligate the Company to acquire any particular amount of common
shares, and the repurchase program may be suspended or discontinued at any time at the Company&#x2019;s discretion. The timing and amount
of any share repurchases under the share repurchase program will be determined by Co-Diagnostics&#x2019; management at its discretion
based on ongoing assessments of the capital needs of the business, the market price of the Company&#x2019;s common stock, corporate and
regulatory requirements, and general market conditions. Share repurchases under the program may be made through a variety of methods,
which may include open market purchases, in block trades, accelerated share repurchase transactions, exchange transactions, the use of
trading plans intended to qualify under Rule 10b5-1 under the Securities Exchange Act of 1934, as amended, or any combination of such
methods.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="From2022-03-012022-03-31_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember_srt_MaximumMember"
      decimals="-5"
      unitRef="USD">30000000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>84
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( +F >%0'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " "Y@'A4UGENL.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M3L,P#(=?!>7>.DUAAZCK91,GD)"8!.(6)=X6K?FCQ*C=V].6K1."!^ 8^Y?/
MGR4W.DH=$KZD$#&1Q7PWN,YGJ>.:'8FB!,CZB$[E<DSXL;D/R2D:G^D 4>F3
M.B (SE?@D)11I& "%G$ALK8Q6NJ$BD*ZX(U>\/$S=3/,:, .'7K*4)45L'::
M&,]#U\ -,,$(D\O?!30+<:[^B9T[P"[)(=LEU?=]V==S;MRA@O?GI]=YW<+Z
M3,IK'']E*^D<<<VND]_JS7;WR%K!A2AX78C[G>"2/\AZ]3&Y_O"[";M@[-[^
M8^.K8-O K[MHOP!02P,$%     @ N8!X5)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
MV0?$C;]<E6WW/[KO;?$,Y9M6JZH?# BJHM[^%0]](G8&D,@S@/8#Z*$#6#^
M=8%ND75AG0LM3H\;=8\:8PW>S$67FVXT1%/49AHO=0._%C!.GYZINE5EL11:
M+M$G48HZE^C2N&O1._3M\AR]??/+\4+#J\R 1=Z[_;1U2SUNSV5^A!B9(XHI
M<0P_.WPXWA^^@ "'*.D0)>W\,5^4FZ:1M4:B;2&P@$,V.&2=P\CG4+0K).HE
MRLV%_+XI[D0);VA=J=JZXITKLZWN3M,TQ@EET?'B;C<IMF%$LR1."!L,]]!&
M ]HHB/:+:&ZE%E>E1$5])UM=F62T,M\TA2ZD$_368[R#A5#.:1Q/,-MV$6,\
MBF(W9#Y YD'('_-<;2"?0!6YA.0"]CFJI79!Y18$BE.6D91.L-J&A!(6I\R3
MWW@ &P?!?H:DUEHUCRYTL0,=CDB<3<#9=DF6<9)F;FS)@"T)8KMHY%H42R0?
M@/E;]UPG-D3&TBB:KD_;CL49IJD;83H@3(,(_U1:[DRS"V!JYX9CC"?P@J\Q
M>OB^78M<GLQ \%K9W,G9*0IP03;@SX+X_U):E,#5?HK9!I'9JX]P0C*:\4D@
MMF6<I(11[%D+!(]LCY]9#5  -/JQXRY#6VM#!=Z=U7O;PYPQ1LF4!1R&693%
MS =X1YY($/!O2BWOB[)THB,VNBC!<4K2*;S@2UZ^-,@H/(0^0PU:U#>%H=[M
MRO#GFMJ[,"&98YV'7_D#T8RJ1\*R]WE4CZ)&_ZH"+@SU;1KGMNV][4T0<%_&
MV30BAV$&T5/N63^C\I&P])W+:PD;<XFT>-C.@!-HT,E!&>T#L>601PFED2>.
M40Y)6 \/($EBRYN+)<,O^H'5,ZHD"<ODEBC]!$EL"20QQBRBEI([3&&U,-@O
MB2?3HUZ2Y*!:L2S$55$ZZJ-]OZ/*D;#,#17-6CQZI] 6.B@4.;;HUK;C6<J(
M1XG)*&4DK&4 LMG(L5J8/^F:$ZVM4RSE6<RMV;(-:0HT@#UU%QWUC(;U;(H7
MO6UDV?4R:P$R]TL0?]CW"W8]=<@D%'D[6V\_O%']:%C]H#O317UCEF,.C5JQ
ME(WHNM^=Q1D.T99(#@T%P]/2+@SDY:Q =UJSYQ0R5Y4T_"R#>X,Z]!&J=YQ.
MQ=YA"%5T0CVU"!W5CX;5;]"21H+H;=PH'4K&L<W"#CN&.<,>^J*CX-&PX.U7
MHUX2Z]$ZN[PLX=S"Z^CS<$Q3[@,\*AOE0;[]0]4W[[1LJ@,9EXYZ0Y]KRPY<
M60[=P5!Q6V6*PS"*$N!=3PY&S:'A)FVO2GE*@[.;I'8/!N6%HU<+O_$'-O0H
M=#0L=(>0EC,T6]2B..:,)=/07KG1HZ,\TI?)HRTWM:I#=!QT_Q+%<4BO7W#8
MJ*<LK*=;]BB?WY+]R99+^+*8Q/;1EFT9)?ZMPT:)9&&)[!$_@].60<HYSTAJ
MX;0M(PY,EWI**S;J' OKW)FJJJ+KG=KMR>'3-LD+LY"Z I]$SK/6L.<7+)M7
M<+0?_<YY*0NR_*56^>U*E4 &[<\_I90D'[KSARG+[;L?58^%50\XYTXVNNNS
M 7K/IJUYZ1R]P4<8$[-%T9TH-_(#XG/8*^8?:E<"(D5BHU>J*?Z3RP]H>%BT
MK=GL9K+41K?0R"]APJ"!0>H:G4,O5EW)9CCE[NRF3[%S.E^KVWP%1_OY'D6;
MA=M1LYB!T;T))MOT^E+,V#PEV3R-:9<UFLXY3^>8L==,_1SJM'8MN^]$I5-,
MF=TQ,Y;2:>WC,(/"A_L88:Q/6+@^^;A<%D88@;_,$>V[HD:Y6!? 9TZP=O&1
M8G-"E$U/DAV6449X0IGG4)Z-A0H+%RH@@)MJLY4\*9H:)L5-N':9PLV9-TTL
ML+8E23C!"?&<_;"Q$&'A0F0K#>V!S-,#MXL0PJ#(XSB;]AD.TSB.H?WU'=.R
ML<Y@AQPI[XA:M\)?&$EF?4WRG:8X3#VG*8N=+XWF,^\7T=P4=8M*>0U#\5$"
M/IKME]/MC5;K[N/CE=):5=WE2@J(P!C []<*=*^_,=\SA^_7I_\#4$L#!!0
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
MGBME:=C]M:;MBMH%T'NIE-T9CJ#?U]DO4$L#!!0    ( +F >%0LD5P9IP<
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
MH ^A5=D81!NH2/F*7C01*6 F5C**LK69^$9+P8(=2@'8!''22K/K-LBVRA
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
MK^%'+B15P>C@2V3/T?WC^FR0D/)"4O2$]DBTY%H@<$^6ESF>+",2C_BSRS4
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
M$)U*U]CMT8)*046]8]ET2B%EX^1.D3P5NU!?R$\*;HA&:.J,09A 0<KR<*Q
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
M=G(ZB\&,;6A<.-T'Z6^UHT82IBUU;C3>@?8;38_IL/ !IG_!^G]02P,$%
M  @ N8!X5'/=.WE* P  0P<  !D   !X;"]W;W)K<VAE971S+W-H965T,3,N
M>&ULK55M;]LV$/ZN7W%0@WVRK5?;:68;<%ZZ!6B+H&E7#,,^T-))(DJ1&DG%
MR7[]CI3M.%V: D6_2#SR[KGG[GC'Q5;I+Z9!M'#?"FF686-M=Q9%IFBP96:B
M.I1T4BG=,DNBKB/3:62E-VI%E,;Q+&H9E^%JX?=N]&JA>BNXQ!L-IF];IA_.
M4:CM,DS"_<8'7C?6;42K1<=JO$7[J;O1)$4'E)*W* U7$C16RW"=G)WG3M\K
M_,%Q:X[6X"+9*/7%"=?E,HP=(1186(? Z'>'%RB$ R(:_^PPPX-+9WB\WJ._
M\;%3+!MF\$*)S[RTS3(\#:'$BO7"?E#;WW$7S]3A%4H8_X7MH#O-0BAZ8U6[
M,R8&+9?#G]WO\G!D<!I_PR#=&:2>]^#(L[QDEJT66FU!.VU"<PL?JK<F<ERZ
MHMQ:3:><[.SJ-Z7*+1<"F"SA6EHF:[X1"&MCT)I%9,F'TXR*'=[Y@)=^ R])
MX9V2MC%P)4LLGP)$1.[ ,-TS/$]?1+S$8@)9,H(T3I,7\+)#Q)G'RWXH8KCD
MIA#*]!KAK_7&6$WWYN\7W.8'M[EWF_^T1+^(YYKUS'2LP&5(W6A0WV&X>J\L
M!C,8PW>"?-P)F-\9@:0!4"AJ-F.Q!%6!;1 J):AKN:S/X);&0=F3 1W]#S"X
M,I93BY#E)X-5+^ M]9H!+H'*A^T&M2MA\(!,&U](]XF#:SGNM"K0&' Q,%TT
MGG&)=S0N.FI^2\ZHR;CD%N$$TMDHB9-1',=P$KQ7<ERHMD/+APZO-:*S,9!,
MII !*;[.G7+PUKE@1=&WO? T6:NTY?\R;SB&<7 4TW%*R.5\E+R>#BY)\V.#
M =YW-%0(I>JMNRA,RIZ)IYA.1QK<9_*">#+Y\,NKTS29_^HR\Y4[:% 0+>,,
MCG,V9(L;=S24PSPMQIN!P_K8^=7@//B34NH:D2KX%/19;?*44HPY)7DVBYV8
M03;+23AU0@Y9G(YF\S3XJ"R%>_*87Y^578C0L!+J_?TC@B=)/IG3[!+"%^GY
M""?P7(]%1X.M15W[\6WHGO;2#C/NL'MX(=;#8'Q4'YZ7=TS77!H06)%I/)E/
M0]##R!X$JSH_)C?*TM#URX9>.=1.@<XK1<VU$YR#P[NY^@]02P,$%     @
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
M7C W?^C2CM)C()I83F9!YEP]3UIL\]V;=NT_U"C@0T>SS9FEZ.V !D[;8>T
MY:;A56_?^C.2[2A[QC&9/R[+G7+ORU#AWRAP^QXD%_"M=S,\F4?$1>6FKH9"
M[H3I1]-X.@[VJWZ>/8KW7P7OF:)$:VAP2ZK1Q33W0?63MM\8V;GIMI&&B'?+
MFCY.4%D!NM]*2N*PL0;&SYW5?U!+ P04    " "Y@'A49S10T[(#  #M"0
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6RM5EMOZS8,?L^O(+QA3T(L
MRY<X/4F 7LZP#CA#<8IM#\,>%)N)O=J2CR0W[;\?9;M9"RS%L/0AL2[DQX^D
M1&IUT.;!5H@.GMI&V750.===A*$M*FREG>L.%>WLM&FEHZG9A[8S*,M!J6U"
MP7D6MK)6P68UK-V9S4KWKJD5WAFP?=M*\WR%C3ZL@RAX6?A:[ROG%\+-JI-[
MO$?W:W=G:!8>4<JZ165KK<#@;AU<1A=7B9<?!'ZK\6!?C<%[LM7ZP4]NRW7
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
M)K/<!S7,JV%C9.=FQ%8:FCAN6=.(1V4%Z+Z2E,AQ8PT<_S2L_@502P,$%
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
ME7EU?B^UEDMSN>"LXBU.@/&9!%IW/]!!_[>4R_\ 4$L#!!0    ( +F >%3
M#U- SP<  $(2   9    >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;)U8:V_;
MR!7]SE\QT&8+": DOB6YM@''WK0!NKM&G&Q1%/TP(D?6)!1'.S.T[/WU/7=(
M490M>],"?I##^WZ<>\GSG=+?S%H(RQXW964N!FMKMV?3J<G78L/-1&U%A2<K
MI3?<XE;?3\U6"UXXIDTYC8(@FVZXK :7Y^[L5E^>J]J6LA*WFIEZL^'ZZ;TH
MU>YB$ [V!Y_D_=K2P?3R?,OOQ9VP7[:W&G?33DHA-Z(R4E5,B]7%X"H\>Y\0
MO2/X38J=Z5TS\F2IU#>Z^5A<# (R2)0BMR2!X]^#N!9E28)@QN^MS$&GDAC[
MUWOI'YSO\&7)C;A6Y3]E8=<7@_F %6+%Z])^4KN_B]:?E.3EJC3N+]LUM'$\
M8'EMK-JTS+!@(ZOF/W]LX]!CF >O,$0M0^3L;A0Y*V^XY9?G6NV8)FI(HPOG
MJN.&<;*BI-Q9C:<2?/;R8Y6KC6"?^:,PYU,+B70^S5ON]PUW] IW&+&?5677
MAOU4%:(X%C"%*9T]T=Z>]]&;$F]$/F%QZ+,HB,(WY,6=?[&3%_^I?^Q&FKQ4
MIM:"_?MJ::Q&1?SG#15)IR)Q*I+_,X1O<E/3G9DMS\7% %UEA'X0@\M?E!4>
M@ON7'^91&/Z5]56PSVOAX7:K*E%9P]2*V;5@6ZT>I&L5="J3#8-U#+E"#YD#
MZ4J5Z$59W3M2.GD27!LF*(<,&1";I=!=%ABO"KH(SM@=,*&H2^%!TO7!A%Z0
M;_=F>(Z5V+Q_07I3($?">Q37M=:0=.9]$(70O&3O6.8'B\B?Q0&NQ]Z=Y5:P
M^3SSPUG,LGCFS[+ ^ZPL:/.&V?$L9G-_$<1TW=+<B)7 \^(@._3C1>)G\XP-
MDS3RTR1AHU9!%L1^ED1LZ @"G#<JBE8(>!>+N1]'<S9,DYD?14E'<P@Y$X_
M3"-@!:R9@2P.<;T(_#3.V)6G!3*2RU)R!TR(Y0E>;EUF#.RJK=)/;-6:WZ/5
M9#-EYRC=W!!:$NP)>M*D7%8<*L%. L6&TN9)1]M4@SE.[GM1B96T;*75YKCZ
M2-U/JY5P:.I2_@D"S?^4[@\O7>FY?7#9^1>%DX#]V/YK\_22T6<5)A@LWX>)
MGBU;+^+) K^Q=RN XU2RK)!P 563"W/FC1D 'O!=(<\:7E'4+*_NY;+L5,&;
MNIDCPWB2CM@PG,Q&X+RS*O_FYD+!J"EA2Y/58((RFD_F1/0K4J#9]I1VT,5L
M&$R2D?<)W<]UOG8A+L0#!N:6$L5R5)Y$FPVC23:BO\'(NU[#0+*.U1"C+:=$
MP^6M,I+T&Q9.$OR&/<H'7M:-<9Q2CH(04!_ EV@2CKS&2C@6C,BB:.0=\OR\
MZ,+%9(:DD),_LE^$];H.(1)NC+ =[KR$G1YZ<8=*WXLY^V9V=7?EM/3*ZI5J
MNWEIVIEWE>>ZQAF:<(E.M!*I -#@%[@Q7\Q=-H#%3<%W\4)8,R!3&D!TX ?)
MXB#]*/OQ(O;G,QB0A'Z61G^>VS%+HM@/@O YXO3BF:8+?P&O%D'D9\$SQWJ.
MG'E 852;?7+JQ.^U=,J:'ADF0*04($>E%,?^(@V!81^[BC<M6>;/$CR=$>$8
M$L66RP)%F&9P?!$3.T*1I!GK2@<LZ9P>I(F_R!8OX?.9H6P(C)X#3[.4N.(T
M]>,9R4-%G8S L,<\(NXHFOL) 3AKX=C[AS#F9*6/X<7WR7UW+/G=7C:[LMZ+
M2O5=;=,PY-436_."58I^K@P5K.#(.4*GM*7"+] [/M:W"OMNDWYJ$:".0<QW
M3#S@&K;Z;*GLNNWEAP;B*W'/Z8;T<6*L2]2E:U!&!?1 &_"^TVI+6PZ6]%+^
MX>) MIQP? (S3_5?X!->;+FVP-"<UT8T@P2*:54X<AD>2D&@:==:[%<)R,SK
M35TZD[&;B#&4>@V*' 6@$!:PB)VH:,13(0FV RR8>K62N22B+A#[ #&K*'1Y
M61>BX0/*$],&0(X*^R;*)SJOD F[)S!=!+QF4.[$(4@H_ EM5IU;SI 5B5O5
M):1I&@ T&NSI\N)YKG2!)(-V^41%XX=9Z*=!P*[NKM$(6YFS61*,PV <I!"'
MKL2^UWG-)/3F#BSY$9(C XPVAOM*_O'V0&=RU8CK6.511+PN(E"R%%20!F\8
MW$6?G*D!17X[S%2CQXI\7<D<>C:8C;UULU4Q8;_6&C.H9V%_\BYYV<"F;))5
M(#"A'V3 V#1F"?IJCMVH#_%?^J((YMM5Q+P&[U]>T6WV*]12W,NJ(F];VUT)
MO^NTTW[Y-ZV,,Q+E8 3!\7ZK;.K]:++.9D! P%L41WZ8I">8MUIBLS[!.L8>
MD]+NV3(5XCN8AF%*LV;F@/A-=['!DY.M@X= =\X2SJ.N,90)4S"O>.F &%5%
M3&,2T.:L'8=C][ZQ[PI)?;G\2J"#%H3ZI@W:HOQ22=HYW8[6#$[E!H,K4?:U
MUM(4TFU1IFDVLK\!#+=H/H.A<$:8HNK[=??$ZQ8$+>B3 Z.O$V2*>.1 D<8:
M>JLYL2UO:XV8MH8M78>W]FWX5^6"3D5R9":)WJTE0+P'>=XA"L>8@7/JKK9T
M  0UMF!]9-N29O+37A>O[5JAK9XF[-2+Z+3W7H_VNW=?+VBOJBO;O.)WI]T'
MDJOFN\"!O/FZ\C/7Z +#2K$":S"9I0.FFR\6S8U56_>5 )/'JHV[7 L.\XD
MSU<*[Z3M#2GH/AM=_A=02P,$%     @ N8!X5,U9-QA3 P  5 <  !D   !X
M;"]W;W)K<VAE971S+W-H965T,C N>&ULK57?;]LV$'[W7W'0AJ$#!.N'W29(
M; .VTZ$=VLY(NNUAV ,MG22B%*F25!3_]SU2DJ,,JX$!>Y%(ZNZ[[[[CG5:=
MTE],A6CAJ1;2K(/*VN8FBDQ68<W,7#4HZ4NA=,TL;749F48CR[U3+:(TCM]$
M->,RV*S\V4%O5JJU@DL\:#!M73-]VJ%0W3I(@O'@GI>5=0?19M6P$A_0_MX<
M-.VB,TK.:Y2&*PD:BW6P36YV2V?O#?[@V)G)&EPF1Z6^N,W[?!W$CA *S*Q#
M8/1ZQ#T*X8"(QM<!,SB'=([3]8C^B\^=<CDR@WLE_N2YK=;!=0 Y%JP5]EYU
M[W#(Y[7#RY0P_@E=;[L@XZPU5M6#,S&HN>S?[&G08>)P'7_'(1T<4L^[#^19
MWC'+-BNM.M#.FM#<PJ?JO8D<EZXH#U;35TY^=G./@EG,X<"T/<%GS:1A7B^S
MBBSA.ZLH&[!V/5;Z':PDA8]*VLK 6YEC_A(@(F)G=NG(;I=>1+S#; Z+)(0T
M3I,+>(MSM@N/M_C/V<)?VZ.QFG9_7XBS/,=9^CC+_T75BUBN*V],PS)<!]1V
M!O4C!IM/RN(L6<!//URG27(+%Q+[7.%LK^J&R1/UP->6:[*S%0(^9:(UU!.@
MW=4U8)4_WZN#IK[38#&KI!*J/$'3:M,R:9T-DQ-7P3/J4 16:D1J5AM"[IEL
M&\T%U2U9PBN'ZIBF\>W;T7/V8?#<CI[>(KG].80CV@Y1#FP&ZC*'NT];^*!*
M_A3">YG-0^@JGE70,0/,&%Y*EYF".SV'G29$>&#6HBXXBCSL>6/6NC$ JB@H
MO@YG1%/IY]1],*_JU:WI]3+<SP]5_#,^_";A(]/$P-_0Y"I\P9@(H-.:RUXT
M1DGF+E$7C9/>%[0 &K?>9J]H_FKF.?=E,?!JT'+P&G6;UJOCMO(Z3!28NZLP
M8=%H]<AS3Q :NC<S6S$+3 A*.],M?=#JQ(3E:*"EAM8^NY%JAC0+<]+="?,K
MDRV-]&<=7+5>5,\EYHO3L--8HPDW^!&NXCB,XQB2_A7#O_5A-)ETI$7IY[F!
M3+72]D/O?'K^96S[2?ELWO]OJ'(EI_X06)!K/+]Z'?2-,&ZL:OS</"I+4]@O
M*_KMH78&]+U0U(3#Q@4X_T@WWP!02P,$%     @ N8!X5(W*EOUS!0  B L
M !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&ULK5;;;MM&$'WG5PS4HF@!
M5A=*LN7$-N!+C:9(6B-.6A1%'Y;D4%QDR55WEU;T]SVSI!0Y3?U0]$7BDCMG
M9LZ<F=WSK74??,T<Z&-C6G\QJD/8O)A,?%%SH_S8;KC%E\JZ1@4LW7KB-XY5
M&8T:,\FFTY-)HW0[NCR/[^[=Y;GM@M$MWSOR7=,HM[MF8[<7H]EH_^*M7M=!
M7DPNSS=JS0\<WF_N'5:3 TJI&VZ]MBTYKBY&5[,7UPO9'S?\JGGKCYY),LFM
M_2"+5^7%:"H!L>$B"(+"WR/?L#$"A##^&C!'!Y=B>/R\1[^+N2.77'F^L>8W
M78;Z8K0:4<F5ZDQX:[<_\I#/4O *:WS\I6V_=YF-J.A\L,U@C @:W?;_ZN/
MPY'!:OHO!ME@D,6X>T<QREL5U.6YLUMRLAMH\A!3C=8(3K=2E(?@\%7#+ES>
MV*;1 2P'3ZHMZ<:V0;=K;@O-_GP2X$(V3HH![KJ'R_X%;I;1&R#4GGYH2RZ?
M DP0VR' ;!_@=?8LXBT78YK/4LJFV>P9O/DAX7G$F_^7A.E6^\)8WSFF/ZYR
M'QQ4\^<S7A<'KXOH=?%_T?PLG'3J"[]1!5^,T(J>W2./+G^V@9/9@K[Y:I7-
M9B_I^4Q?,[2<_)(;O5;2'Y[>U9S 9J/:780X?>G)5I4NL%N!$&,+%;@D%2A;
M3&?T,*8[:T.MC:%;-T[IH=.!Z18/R@1ZK3XPW>BP2^E]4#6M%K/IV?>SQ>G9
MF%ZU=,>YZS &I*[3E$+--#A/$#$[.-)ML*1H0;-Y>K(ZI6R5KK+EP3*!Y8+F
MBY-TOIQ"(K/T[&1.#QA;96<XL17==4$J^4:WNNF:/F6Z5[O(2?([*R<R!2<$
ME7&3LQ.E"6Y&7U-V-D^79TM9SFD^G:?3Y5GO<SE-3T\7R3L;E"$343<#*NQ.
M%J?I(EO1:QT&;O&H<FVP9I]@D()*[ZEX4@_EM)=(*F<;*HS2C4])><_>1^"4
MS $OI0J"D.\H*\8SZ(X06*$>R,+;SNW+YKBP#KU(VYI;TH&TIXVSN<I!4JA1
M307H/KX=U<I3SK*Q+3HG51!4J8YJ;-<&*E2+#4!5WK; V!'[H!M1QA@,K\%(
M83V(. #H5E)MAS&\U:'^0OZ)A,H?D8P7GY_,(3*,[:345051( #/^!"I%)J
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
M%<M:BO=1L<2#+$F- '=C9C))<=Q,^F6RT65([ID74<25;<];K_3"]).*%FJ
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
MTI"IW;*@5Q25#:#[K93FM+$$W;N\^ M02P,$%     @ N8!X5/(HX N] P
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
M4+NPV:/R3BUS '2(KN'_EL9S_M;7^]N%N/TIA+T59R:?3^EYGVF352*3#0;
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
M<Z%P ZS/I#2;&S30?4H[_1M02P,$%     @ N8!X5-45[:< !@  F0\  !D
M  !X;"]W;W)K<VAE971S+W-H965T,S(N>&ULE5=9;]M&$'[GKU@("2 !E,3[
M$&P#/I+60-,:MM.B*/JP(D<2$9*K[*Y\]-=W9DE1E"TKS@.E)3G7M_/-#/?D
M4<AO:@6@V5-5UNITL-)Z/9M.5;:"BJN)6$.-;Q9"5ESCK5Q.U5H"SXU254X]
MQXFF%2_JP=F)>78CST[$1I=%#3>2J4U5<?E\ :5X/!VX@^V#VV*YTO1@>G:R
MYDNX _UU?2/Q;MI9R8L*:E6(FDE8G [.W=E%3/)&X,\"'E5OS0C)7(AO='.=
MGPX<"@A*R#19X/CW )=0EF0(P_C>VAQT+DFQO]Y:_VRP(Y8Y5W IRK^*7*].
M!\F Y;#@FU+?BL=?H<43DKU,E,K\LL=&-O(&+-LH+:I6&2.HBKKYYT_M/O04
M$N<-!:]5\$S<C2,3Y177_.Q$BD<F21JMT<) -=H87%%34NZTQ+<%ZNFSZSH3
M%;![_@2*#>_YO 0U.IEJ-$T"TZPU<]&8\=XPXWKLBZCU2K%/=0[YOH$IQM0%
MYFT#N_".6KR";,)\UV:>X[E'[/D=4-_8\W\(E%T5*BN%VDA@_YS/E99(C7^/
MN @Z%X%Q$;SAX@XK)M^4P,2"78IJ+6JHM6(]SS=2/!3$YT,[?-0X%>=,K7D&
MIP.L/@7R 09G]RNPLITG]*M7P-9;+PR+EA6->VTRG DL)[4378@2R[*HET:4
MGCP#EXH!99%A#J":@^SRP'B=T\*9L2U8Z\=@+:-*:M;?:+VAR)[QGL3E1DJT
M-+,^0PZ2E^P#BVPG]>S8=W ]MNXTU\"2)++=V&>1']MQY%CW0J-LUB@;G31.
M[-3Q:=W*7,$"\'V^L^W:?AK841*Q81!Z=A@$;-0ZB!S?C@*/#8V @\\;%WEK
M!'73-+%]+V'#,(AMSPLZF=V6,WC"]JD H\!H8A3S75RGCAWZ$3O"N;#C7/AN
MSEU #8M"LX44%=LK;$K;I\4"3 LTR;E%C.H0"X^[.[<D((>RHBRXZ:KH]@!:
MK@V7%.[D1@OYS!;MAO=D)>TR!;9'4*ZHU5//!GK3D+2H.;I$=3((%1'-*HQL
MPU^U3\>?WH>?(NCGUU!ZL'>0#3[/G3CL8_O7,NNUHLUJ'+\8^7:;Z-V\1>%/
M4KQ\ZP9P"%&1L;Q ",CS#-3,&C.<3CA[:F2F1%2T:YK7RP([^=85HMDT0W#H
M3\(1&[J3>(2:=UIDW\Q0RQFU$8RER:HS0>(GDX2$_L 42+8^Y!WE?#9T)L'(
MNL66Q&6V,EN<PP-.^S4EBF58*P4VAJ$WB4;TZXRLRQ4&2-&Q#9J1FE.B$?):
MJ(+\*^9. KS<GN0#+S=-<)Q2CH0 =.\@%F_BCJPF2@3FC"@B;V3M\OR2=&XZ
MB3$I!/+CD1*,NA*,WEV"VQ9CN'6N%.B#17;4X.%6_SMHJ^L]!(4;Z]N._KJA
M]^8"5TUL[^OF!S#TZ/]&55R]#FUFG6>9W. S;!9S[!BZ0,I@"\<+.W*2)H8U
MB*XIS"ZOF/X(>W[HH&G'=H)T9WV/I7[JVTF, 02N'87>CSDX9H'GVX[CONSE
MO?T,P]1.$57J>';DO #6 S*S<+YA5>AGXPZ^;PKCK*GE88"]/L3Q093W?3L-
M79P.UUUEJE8LLN, W\8D.$:+L.9%CL421@@\]4D=MR(((]91'%7"A%Z$@9U&
MZ>O!]")0-L3IE^"DBD+2\L/0]F.RAXPZN /#GO*(M#TOL0,:C:P==-9OH-3!
MBAPCBO?9_;!O^</6]K&A&'<5&;^[(K_6-+&6=?%?R^AV.ARLRZ-F#]?E7NF\
MZ>RMLME3Z'5]M1VA<U@6=4WUW!8X?9_A;@6X6XGYEAA;OTB!Z< NAZ<R!43S
M[7>0$=[OK'&,S$+:>+YGNT%X0'DM"_P6/* ZQCD6TM=2JY3#.Y2&;D@U'!N"
M'X6+WYP$L@7H8I0(,?1W8*E^</)@LZ.*PS[ 2T-PG ZD-"8#<UX:(C9M9GR0
M3=/><:D"N32'0NJDFUHW)Z?N:7?N/&^.6SOQYM#ZA4O,CV(E+%#5F<3X^22;
M@V!SH\7:'+[F0N-1SBQ7>'8&20+X?B&$WMZ0@^XT?O8_4$L#!!0    ( +F
M>%1H>>9I8P(  "0%   9    >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;)U4
M;6O;,!#^GE]QF'W8(-2.7YJV)($F7=F@A=!V&V/L@V)?8E&]>)+<M/]^)SGQ
M,F@SV!=+)]WS/'?G.TVVVCS:&M'!LQ3*3J/:N>8BCFU9HV3V1#>HZ&:MC62.
M3+.);6.050$D19PFR6DL&5?1;!+.EF8VT:T37.'2@&VE9.9ECD)OI]$HVA_<
M\4WM_$$\FS1L@_?HOC1+0U;<LU1<HK)<*S"XGD:7HXMY[OV#PU>.6WNP!Y_)
M2NM';WRNIE'B T*!I?,,C)8G7* 0GHC"^+7CC'I)#SS<[]FO0^Z4RXI97&CQ
MC5>NGD9G$52X9JUP=WK["7?Y%)ZOU,*&+VP[WR*-H&RMTW('I@@D5]W*GG=U
M. "<)6\ TAT@#7%W0B'**^;8;&+T%HSW)C:_":D&- 7'E?\I]\[0+2><FRVT
ME-Q1E9T%IBI8:.6XVJ J.5IX_\!6 NV'2>Q(RR/B<L<[[WC3-WA'*=P256WA
MHZJP^IL@IB#[2--]I//T*.,5EB>0C8:0)NGH"%_69YX%ONR_,K_BMA3:M@;A
MQ^7*.D/M\_.(:MZKYD$U?T/UGJ:J:@6"7L-UZSS_+5=<MA)ND+H+ENPEQ/1:
MR8]2^_&]L TK<1K1?%HT3QC-8"\X^)?@X#LRX_\6%0&HV"A7:'S!!U3P%-Y!
M>IX-B_/"FQED239,BG-OY% DP_$X'SQHQP2(P-KL6 EWFH^'>7H&KU4O/NA<
MB683YM-"J5OENB;N3_LGX++K_#_NW?MQR\R&*TOZ:X(F)^,B M/-9&<XW80Y
M6&E'4Q6V-3UC:+P#W:^U=GO#"_0/X^PW4$L#!!0    ( +F >%31B"AQ, 0
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
M@30?X/N=$/JU81QT=[+5WU!+ P04    " "Y@'A4]-@!"-\#  "B#@  &0
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
M /V2<&1]A:Z.PVXK<\ I .R=)0=ZF_L3=3HHCJOM6<9X<R#!N$-(O&,?.W&
M?G4XLM B5]%1U,88(J<$")XCAG[4/?;Q"8#>>UYK"?P24P^-6_<FT7=R@7 K
MH^]D!OD?\A^H?#7=WMCTALK.57: "9.:3WE"M;DR3>.$S87B>FL?6,[PZ]V\
M9:!W-R.G1>@L6E2B-F"^.=#/W&D)\FO)C<BU"2_+-4A$KOB$25J\^4A$EIF#
MTB)YW<H]WJ#4BWLDCOL[*#G50?[V82>E%962YEIMI=/=7,HNZ?:[: <=IS'(
MKS'^70K^!4<^DB&G&:C?QLV,G=9@?_=P<#+Y<?>OP=BI#_:KST')YL<\@*Z3
M#'R,9'B3L=&S(:Z],&JELF"G+-BO+(<GHQ?W@.@Z&<%^&3DL&4_<AV"G';AY
M'[)G,C9ZR,5.,G K&Q7L1 3[1>3P9-SL0+PRBYV:8'\'<EBR]?>36>*T@S1_
M\W0.F25.$D@K7TT1)P+$+P(G>&;VS[!']W0"H/>KX 2(-'\3=@XI)+7O%*U\
M54:<KA"_KIPB89JV*EL&>EL5XN2&_+]R0YS<D%;*#7%R0_QR<XJ >V?8IT(<
M#[1>A;#V_=E^_#=.OO!<@91-#7)TV369)]??T]<76LR+3])CH;7(BM,9HT;G
M[ #S^U0(_79AOW)7_]4P^@]02P,$%     @ N8!X5'2<$*=U @   P8  !D
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
M9GEBU;K8()PK:Y4H#E? 7 3^ 7=_H91]._$#5'O,T_\!4$L#!!0    ( +F
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
M'^[L0P;:';#[&Z7P>>*:JW\:L_]02P,$%     @ N8!X5 HBNH2N @  (P<
M !D   !X;"]W;W)K<VAE971S+W-H965T-#,N>&ULC55=;YLP%/TK%MI#*VWE
M&T)%D-IDT_90+6K6[6':@X&;Q*K!S'8^^N]G&XK20+*^@(WO.?<<^_J2[AE_
M%AL B0X5K<74VDC9W-JV*#9087'#&JC5RHKQ"DLUY6M;-!QP:4 5M3W'B>P*
MD]K*4O-MP;.4;24E-2PX$MNJPOSE'BC;3RW7>OWP2-8;J3_86=K@-2Q!/C4+
MKF9VSU*2"FI!6(TXK*;6G7L[BW6\"?A)8"^.QD@[R1E[UI-OY=1RM""@4$C-
M@-5K!S.@5!,I&7\[3JM/J8''XU?V+\:[\I)C 3-&?Y%2;J;6Q$(EK/"6RD>V
M_PJ=GU#S%8P*\T3[-C9(+%1LA615!U8**E*W;WSH]N$(X 9G %X'\-X+\#N
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
M9'#=1U"JFH_5QLC"C9B%-)@BM\SPDP*4%<#W2XGU5&^L@^8C9?(74$L#!!0
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
MQF 8%_IKWS?HW7+XL]+3>>$IW.%I#+,VB6B+A$%(M\!'^\.#MW ?8ZX"#ZO
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
MTQN5),VA8"DI$(7M7+LWITM3.2B+WRF<6&N,9"BOA+S)R:]DKAF2"#*(N93
MXN\(2\@RJ20X_M:B6K.G=&R/+^H/*G@1S"MFL"39GS3A^[D6:"B!+3YD_(F<
M?D(=D"OU8I(Q]8M.E:WG:"@^,$[RVED0Y&E1_>-SG8B6@^E=<;!J!ZOK<&T'
MNW:P5: 5F0IKA3F.9I2<$)760DT.5&Z4MX@F+>0Q;C@53U/AQZ.-N!?)(0-$
MMFA)\I(44'"&?A4QR0$]XS-:4W),U:G=K(#C-&.W:()>-BMT\^UVIG,!(:7T
MN-YP46UH7=G0M- C*?B>H1]% LE' 5W0-R%8EQ 6UJCB"N([9)O?D658Y@#0
M\O/NQ@B.W6345GKV%;WE@5*1P^F(E--(.4K*N2+U  E0G TEN7)TE:-\58^1
M9X26;XL(CNW81S>0-6+*2AS#7!-%@ $]@A:A$7*W(7='R3<<<QCBKMR\%G<0
M>*9O=[#[9I[M^]Y[=!^HO(;*&Z5Z)AQGXJU2!S1$Y_6W#?T@-+IX W8C>'Z#
MYX_>G!5L0: E8U<G:+2"KUZ=H =OVJ'C!5XGR+[=Q'$MUW&&HPP;LO!K5R/L
M)]6P/<?J8/7-)I+^2NY-X[T0&I^X'$E]!H.%S>AG+@P#VPHZB .&$]?Q+>M*
MZLQ6M38_ 9E6U9F+Z@QGT=#98#YKJ7:-"$+?MVRSB]LW# W7]CJP>JO+Y$!W
MJODR%)-#P:MJW:PV#?Y>M;7.^D(V?M6]WF6JKX9'3'=IP5 &6R%IW/F"B5:-
MN)IP4JI>]DJXZ(QJN!<?+T"E@7B^)81?)G*#YG,H^@]02P,$%     @ N8!X
M5$8XIH6O P  *@T  !D   !X;"]W;W)K<VAE971S+W-H965T-3<N>&ULE5=1
MCYLX$/XK%E*EG-0##-DDNTHB;;*MK@]55YNV]W#J@P-#0 MVSC:;[;_OV&1)
MMG5,^Y)@P_?-?,-X9I@?A'Q4)8 FSTW-U2(HM=[?1)'*2FB8"L4>.-XIA&R8
MQJ7<16HO@>46U-11$L>3J&$5#Y9SNW<OEW/1ZKKB<"^):IN&R>\KJ,5A$=#@
M9>.AVI7:;$3+^9[M8 /ZR_Y>XBKJ6?*J :XJP8F$8A'<TILU'1N ?>)K!0=U
M=DV,E*T0CV;Q(5\$L?$(:LBTH6#X]P1KJ&O#A'[\?R0->IL&>'[]PO[>BD<Q
M6Z9@+>I_JUR7BV 6D!P*UM;Z01S^@:.@*\.7B5K97W+HGITF <E:I45S!*,'
M3<6[?_9\#,09@$XN )(C(/D9,+X 2(^ U KM/+.R[IAFR[D4!R+-T\AF+FQL
M+!K55-R\QHV6>+="G%YN,"_RM@8B"K("#D6E22%%0S[P3#1 /K-G4(3QG+PK
M"K Q-WOD@6G<']V!9E6M_II'&ITQE%%V-+SJ#"<7#-.$?!1<EXJ\XSGDKPDB
M5-%+25ZDK!(OXQUD(4GI6Y+$"74XM/Y]>.QQ)^TCFUJ^] +?*8#DKE)9+50K
M@?QWNU5:8O)^\Y@8]R;&UL3X@HGWD(-D-:DZ4QI-P3,>< 6$::(TTZT6\CN1
M^+)<;\C/GM PCM^X OGGN%?RKGIY5UZB#0H A[BWA&-]PX0MCOK-O6V7O"Z9
M?BMI>.U6.01+O2(GO<B)-TWN 8L1!ZY)7N$)D\ S4#<>XFE///4Z^#?!.H=5
MC&-5DWAL<XRD9GQ7;>L^J'CP6EM.76'STX_2\"I^XSKXZP$@#:>_ %\IG/4*
M9P,*-UIDC[:,YP0%F>Q@E^3XN>(P<6>!'S::A3._F.M>S/6 F$^Z!$GVKGQP
MZ?'3Q;^F9Z?'#QO%X=BOA\:GSA)[N1Y  9-9:;M'#D\X,NP;(RR3D%?:*6J
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
M@_,I9E>=[W8;(QMG72MIT C=LL)/%2@;@,]+*<UN8Q,,'[_L-U!+ P04
M" "Y@'A4[X$FCK8"  "W!@  &0   'AL+W=O<FMS:&5E=',O<VAE970V,2YX
M;6R-5=MNVS ,_17!V$,+;/$EEPY%$B!M.JQ#NP7-NCT4?5!L)C8J2YY$-\W?
MCY(=-VF=H'F(19GG\)"4Z.%:Z2>3 B![R84T(R]%+,Y]W\0IY-QT5 &2WBR5
MSCF2J5>^*33PQ(%RX4=!,/!SGDEO/'1[,ST>JA)%)F&FF2GSG.O-!0BU'GFA
MM]VXRU8IV@U_/"SX"N: ]\5,D^4W+$F6@S29DDS#<N1-PO/IP/H[AS\9K,W.
MFME,%DH]6>,Z&7F!%00"8K0,G![/< E"6"*2\:_F])J0%KB[WK)_<[E3+@MN
MX%*)OUF"Z<C[ZK$$EKP4>*?6WZ'.IV_Y8B6,^V?KVC?P6%P:5'D-)@5Y)JLG
M?ZGKL ,@GG9 5 .BMX#> 4"W!G0_"NC5@)ZK3)6*J\.4(Q\/M5HS;;V)S2Y<
M,1V:TL^D;?L<-;W-"(?C.Q <(6$SKG'#?FLN#7<=,>QD"L@S8=A/KC6W[3EE
M7]C52RQ*0P:[R6)J/[#)2@/024#V< OY O0CN4UUAUUHNSGGB*"7&8ADU^%^
M/F4GGTZ'/E(65HL?UXHO*L71 <4ANU424\.N9 +)/MZG[)L21-L27$1'"7]P
MV6'=X#.+@O"L1<_E<?@48H*'%AZ%+?#I!Z('85OTO6RZ34.[CJ][@(\N@. +
M536,3:AS<E5UA\MDS_Z%*6B&*9=L'_1P0YSL&B$WCT<4]1I%/:>H=T#1)(YU
M24=,JPT7F(%I*U)%T7<4=E0]C\\"^QOZSRVA^TWH_M'0,[YQJ=)X? W/"DH[
MMV>H[?#UWPD)#^L8-#H&1W5,2V"H:$Q6EZVPEZWMI W>!7\;V-^YZCGHE1N9
MAL6JE%C=^F:WF<H3-XS\5_=JI-]RO<KHG@M8$C3HG%%<78W)RD!5N,&Q4$AC
MR"U3^K* M@[T?JD4;@T;H/E6C?\#4$L#!!0    ( +F >%3[/F;VT (  +,'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;)U5W6_:,!!_[OX**]I#
M*U6$? !I!9'X6+5)ZX9:=7N8]F"2(UA-[,PVT$K[XW=V0L98B*:]@.WX]W%W
MR=UX+^2SV@!H\E+D7$V<C=;EK>NJ9 ,%53U1 L<G:R$+JG$K,U>5$FAJ047N
M^OW^T"THXTX\MF=+&8_%5N>,PU(2M2T**E]GD(O]Q/&<P\$#RS;:'+CQN*09
M/()^*I<2=V[#DK("N&*"$PGKB3/U;A>1N6\O?&&P5T=K8B)9"?%L-A_2B=,W
MAB"'1!L&BG\[F$.>&R*T\:/F=!I) SQ>']CO;.P8RXHJF(O\*TOU9N)$#DEA
M3;>Y?A#[]U#',S!\B<B5_27[ZN[ =TBR55H4-1@=%(Q7__2ESL,1P#\'\&N
M?PKPS@""&A"< +SP#""L :'-3!6*S<.":AJ/I=@3:6XCFUG89%HTAL^X*?NC
MEOB4(4['<U$43&,=M2*4IV0NN&8\ YXP4.1R 9JR7)%/5$IJ*G0U=C7*&K";
MU!*S2L(_(^'YY!Y9-XJ\XRFD?Q*XZ+<Q[1],S_Q.Q@4D/1)XU\3O^][3XX)<
MOKVB+<;F_T[3KVE:6!;=+'>PZA'_IF+I""YH*A)8ON"_*K)@*LF%VDH@WZ8K
MI25^.-\[5,-&-;2JX1G5SR68 O.,Y("?T371((NV9'33A.05J%0=A@:-H4$G
MTQ2;&!%KDIL<_"1MY9U5#$/+8/K;+O:"830:N[L6X6$C/.P47M+7*OG84[&Q
M<=VF7%$,CI3]*/('[<JC1GG4J?S19)[ 2\E,*; IIE1#FWHWS>&%?'-Q@:]D
MV%&+J#$6=3(^8!:,+^SVH-H,17^E(PB'P:#?Y*/Z'%NN>=[-,#A)FWO4S@J0
MF1T+BB1BRW75))K39O),;<,].9]YM_-J@/RFJ<;9/949XPI?]C52]GLC-"6K
M$5%MM"AMTUP)C2W8+C<X54&:"_A\+80^;(Q ,Z?C7U!+ P04    " "Y@'A4
MQ>H[;C<"  #L!   &0   'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6R-5&UK
MVS 0_BN'Z8<61NPX2;<5Q]"\C!66$1JZ?1C[H-B76$0OKB3'*?3'3Y(=SX,U
M](NM.]WSW'/2G9):JH,N$ V<.!-Z&A3&E'=AJ+,".=$#6:*P.SNI.#'65/M0
MEPI)[D&<A7$4W8:<4!&DB?>M59K(RC J<*U 5YP3]3)#)NMI, S.CD>Z+XQS
MA&E2DCUNT#R5:V6ML&/)*4>AJ12@<#<-[H=WLXF+]P$_*-:ZMP97R5;*@S,>
M\FD0.4'(,#..@=C?$>?(F".R,IY;SJ!+Z8#]]9G]BZ_=UK(E&N>2_:2Y*:;!
MIP!RW)&*F4=9?\6V'B\PDTS[+]1-[.WG +)*&\E;L%7 J6C^Y-2>0P\0#]\
MQ"T@]KJ;1%[E@AB2)DK6H%RT97,+7ZI'6W%4N$O9&&5WJ<69=%-M-3Y7* PL
MC_:KX7J!AE"FX3M1BK@SNX$KH )6E#%[D#H)C4WLX&'6)IDU2>(WD@QA)84I
M-"Q%COF_^- *[E3'9]6S^"+ABJ@!C(8?(([B^&FS@.NKFPNTH^XP1IYV_,[#
M@%\KY%M4O^$5YI)SVT4;([-#W[\B)\HKWKDNR!AW,L9>QNC=,K[9"'@PR/4E
M_DG'/[E8YI*73+X@@O;%E)7*"MO84#(B_G>Y#=O$L[DA/Z:C* F/?05AKP,Y
MJKV?,PV9K(1IFK'S=J-\WW3PW_#F';!WNZ=" \.=A4:#CS:Q:F:K,8PL?3]O
MI;'3X9>%?8Y0N0"[OY/2G V7H'O@TC]02P,$%     @ N8!X5-0K19$1 P
M,!$   T   !X;"]S='EL97,N>&ULW5AM;YLP$/XKB$Y3*TV%A)6%-43:D"I-
M6J=*[8=]JYQ@B"5C,^-TI+]^/DS(2WU5UP];-J(4^Q[?<X_OCAIEVN@UI[=+
M2K775EPTJ;_4NOX8!,UB22O2G,N:"H,44E5$FZDJ@Z96E.0-.%4\&(=A'%2$
M"7\V%:OJJM*-MY KH5,_&DR>O7W)4W\4O_<]2Y?)G*;^_>G;'RNI+]]X]G[R
M[N0DO#^[/+2?=L"9'SA)+UY >AZ&.#& &'G\,O+GN#OJH$_0;%I(L9\G,)C8
MI*+> ^&IGQ'.YHJ!5T$JQM?6/ ;#0G*I/&T*9,2,P-(\6GAD9U"[GJ=B0JHN
MMHU@_\[[Y0? 9@8"&>>#P+%O#;-I3;2F2ER92;>X,SZ!O'Y\MZZ-PE*1]6A\
MX6\=NIL),I<JIVH(,_(WIMF4TP+D*%8NX:YE'0"HM:S,(&>DE()T&C8>_<#0
M+BCGM]#8WXL][K;8J6H(-17#T CJAY;&3H!_E\UR[]*&K^+U:O8@]>>5V8[H
MYM L]$;1@K7=O"T& 1C["&<G=<W7GS@K147MYE\<<#8E&S]O*15[--&@51;&
M0)7O/5"EV6+7\E.1^HZV>M-.;8%K'O^#FO]LGDLJJ")\5[3I_6/.\JL5]R?!
MW]#<_5LY5.P4&7TX?HW]Z7?L(N/C%QDE1ZDQZ$^=G:-M[V ;K!Z\0*3^-WA9
MX=N@WGS%N&:BGRU9GE/QY'PS])K,S>O@'K]9G]."K+B^&\#4WXZO:<Y653*L
MNH%$]*NVXZ^PO5$\O+V86$SDM*5YUD]5.>^&GAF8J/T%#H?(57>Y$<S'8FX$
M,"P.I@#SL5Y8G/]I/Q-T/Q;#M$V<R 3UF: ^ULN%9-T'B^/V2<SEWFF21%$<
M8QG-,J>"#,M;',/7S89I P\L#D3ZO5SCU<8[Y/D^P&KZ7(=@.\4[$=LIGFM
MW'D#CR1Q5QN+ QY8%;#>@?CN.-!3;I\H@JIBVK G&$>2!$.@%]T]&L=(=F+X
MN.N#/251E"1N!#"W@BC"$'@:<013 !HP)(JZ<_#@/ HVYU2P_8UD]@M02P,$
M%     @ N8!X5)>*NQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q
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
M 5!+ 0(4 Q0    ( +F >%0'04UB@0   +$    0              "  0
M  !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ N8!X5-9Y;K#O    *P(
M !$              ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%
M  @ N8!X5)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE
M+W1H96UE,2YX;6Q02P$"% ,4    " "Y@'A4K8$S8B$&  !N&@  &
M        @($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%
M  @ N8!X5*_N4CO^!@  RQX  !@              ("!90X  'AL+W=O<FMS
M:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( +F >%2\EQ*0RP(  '8)   8
M              " @9D5  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"
M% ,4    " "Y@'A4J'>?LTD%   -$P  &               @(&:&   >&PO
M=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ N8!X5(EVO^P1!@
MHA\  !@              ("!&1X  'AL+W=O<FMS:&5E=',O<VAE970U+GAM
M;%!+ 0(4 Q0    ( +F >%2UN\+'6P(  +L%   8              " @6 D
M  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " "Y@'A4+)%<
M&:<'  "C'P  &               @('Q)@  >&PO=V]R:W-H965T<R]S:&5E
M=#<N>&UL4$L! A0#%     @ N8!X5+I[M?KQ!   V H  !@
M ("!SBX  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( +F
M>%0-;>+9F!,  ,TU   8              " @?4S  !X;"]W;W)K<VAE971S
M+W-H965T.2YX;6Q02P$"% ,4    " "Y@'A4].);"N8'   _$@  &0
M        @('#1P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0
M   ( +F >%3R\ID%H@<  * 5   9              " @>!/  !X;"]W;W)K
M<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ N8!X5#28.^OJ @  %P8
M !D              ("!N5<  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q0
M2P$"% ,4    " "Y@'A4<]T[>4H#  !#!P  &0              @(':6@
M>&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( +F >%3(>P2J
MI0(  *@%   9              " @5M>  !X;"]W;W)K<VAE971S+W-H965T
M,30N>&UL4$L! A0#%     @ N8!X5$>&NRCE P  ^@@  !D
M ("!-V$  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " "Y
M@'A49S10T[(#  #M"0  &0              @(%390  >&PO=V]R:W-H965T
M<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( +F >%3'Z\#;KP,  $ (   9
M          " @3QI  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#
M%     @ N8!X5"IBA]BX"   5QD  !D              ("!(FT  'AL+W=O
M<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    " "Y@'A4P ]30,\'  !"
M$@  &0              @($1=@  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM
M;%!+ 0(4 Q0    ( +F >%3-63<84P,  %0'   9              " @1=^
M  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ N8!X5(W*
MEOUS!0  B L  !D              ("!H8$  'AL+W=O<FMS:&5E=',O<VAE
M970R,2YX;6Q02P$"% ,4    " "Y@'A4<%Y&74$"  #S!   &0
M    @(%+AP  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    (
M +F >%13VV)3[!0  !<_   9              " @<.)  !X;"]W;W)K<VAE
M971S+W-H965T,C,N>&UL4$L! A0#%     @ N8!X5#791L\[!   )PD  !D
M             ("!YIX  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"
M% ,4    " "Y@'A4CRF7>2$%   G#@  &0              @(%8HP  >&PO
M=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( +F >%0JGG=[X@(
M  8&   9              " @;"H  !X;"]W;W)K<VAE971S+W-H965T,C8N
M>&UL4$L! A0#%     @ N8!X5&.'@!=' P  D0<  !D              ("!
MR:L  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " "Y@'A4
MPYN[5JH"  "C!0  &0              @(%'KP  >&PO=V]R:W-H965T<R]S
M:&5E=#(X+GAM;%!+ 0(4 Q0    ( +F >%3R*. +O0,  /@(   9
M      " @2BR  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%
M  @ N8!X5([0]J0D P  W@8  !D              ("!'+8  'AL+W=O<FMS
M:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    " "Y@'A4]J4/U5<&  !6$P
M&0              @(%WN0  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+
M 0(4 Q0    ( +F >%35%>VG  8  )D/   9              " @07   !X
M;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ N8!X5&AYYFEC
M @  ) 4  !D              ("!/,8  'AL+W=O<FMS:&5E=',O<VAE970S
M,RYX;6Q02P$"% ,4    " "Y@'A4T8@H<3 $  "2#P  &0
M@('6R   >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( +F
M>%33U(3H400  )\-   9              " @3W-  !X;"]W;W)K<VAE971S
M+W-H965T,S4N>&UL4$L! A0#%     @ N8!X5/38 0C? P  H@X  !D
M         ("!Q=$  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4
M    " "Y@'A4Z<JV5:L$  #A(   &0              @(';U0  >&PO=V]R
M:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( +F >%1TG!"G=0(   ,&
M   9              " @;W:  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL
M4$L! A0#%     @ N8!X5+'"-Z(U!   ;Q8  !D              ("!:=T
M 'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " "Y@'A4:CCG
MF! $  "[%   &0              @('5X0  >&PO=V]R:W-H965T<R]S:&5E
M=#0P+GAM;%!+ 0(4 Q0    ( +F >%06]:DC: ,  !,-   9
M  " @1SF  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @
MN8!X5&B@?ULU @  )@4  !D              ("!N^D  'AL+W=O<FMS:&5E
M=',O<VAE970T,BYX;6Q02P$"% ,4    " "Y@'A4"B*ZA*X"   C!P  &0
M            @($G[   >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4
M Q0    ( +F >%2!H,7T)@,  '<+   9              " @0SO  !X;"]W
M;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ N8!X5!T4,ZD8 P
ML @  !D              ("!:?(  'AL+W=O<FMS:&5E=',O<VAE970T-2YX
M;6Q02P$"% ,4    " "Y@'A4L^@#(H(&  !2(0  &0              @(&X
M]0  >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( +F >%1;
MDYMM'P,  *T(   9              " @7'\  !X;"]W;W)K<VAE971S+W-H
M965T-#<N>&UL4$L! A0#%     @ N8!X5(3-PF!Q @  UP8  !D
M     ("!Q_\  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4
M" "Y@'A4>3(JFZH$   R%P  &0              @(%O @$ >&PO=V]R:W-H
M965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( +F >%2@J@MWN@(  /D'   9
M              " @5 ' 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L!
M A0#%     @ N8!X5)TM<CN= P  ' T  !D              ("!00H! 'AL
M+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    " "Y@'A4HX<G'V\$
M  "R%   &0              @($5#@$ >&PO=V]R:W-H965T<R]S:&5E=#4R
M+GAM;%!+ 0(4 Q0    ( +F >%20'D^\Y0(  ,X*   9              "
M@;L2 0!X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ N8!X
M5'RE =%' P  6 P  !D              ("!UQ4! 'AL+W=O<FMS:&5E=',O
M<VAE970U-"YX;6Q02P$"% ,4    " "Y@'A40M#Y9;($  #\$P  &0
M        @(%5&0$ >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0
M   ( +F >%2%R@AR 0,  !H)   9              " @3X> 0!X;"]W;W)K
M<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ N8!X5$8XIH6O P  *@T
M !D              ("!=B$! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q0
M2P$"% ,4    " "Y@'A4;E!CCL@#   H#@  &0              @(%<)0$
M>&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( +F >%3%<&G/
M'0,  (0)   9              " @5LI 0!X;"]W;W)K<VAE971S+W-H965T
M-3DN>&UL4$L! A0#%     @ N8!X5%'D@=+2 @  " <  !D
M ("!KRP! 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " "Y
M@'A4[X$FCK8"  "W!@  &0              @(&X+P$ >&PO=V]R:W-H965T
M<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    ( +F >%3[/F;VT (  +,'   9
M          " @:4R 0!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#
M%     @ N8!X5,7J.VXW @  [ 0  !D              ("!K#4! 'AL+W=O
M<FMS:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    " "Y@'A4U"M%D1$#   P
M$0  #0              @ $:. $ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    (
M +F >%27BKL<P    !,"   +              "  58[ 0!?<F5L<R\N<F5L
M<U!+ 0(4 Q0    ( +F >%2,$E X304  -(I   /              "  3\\
M 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " "Y@'A4)V75I0P"  "$)0
M&@              @ &Y00$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-0
M2P$"% ,4    " "Y@'A4[M7M&.8!  #U)   $P              @ ']0P$
I6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     1P!' &@3   41@$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.22.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>133</ContextCount>
  <ElementCount>362</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>59</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementsOfOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Consolidated Statement of Changes in Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity</Role>
      <ShortName>Consolidated Statement of Changes in Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Consolidated Statement of Changes in Stockholders' Equity (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statement of Changes in Stockholders' Equity (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Statement - Consolidated Statements of cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - Overview and Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/OverviewAndBasisOfPresentation</Role>
      <ShortName>Overview and Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - Business Combinations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BusinessCombinations</Role>
      <ShortName>Business Combinations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/PropertyAndEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/AccruedExpenses</Role>
      <ShortName>Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - Stockholders??? Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StockholdersEquity</Role>
      <ShortName>Stockholders??? Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - Earnings per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/EarningsPerShare</Role>
      <ShortName>Earnings per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Stock-basedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - Business Combinations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BusinessCombinationsTables</Role>
      <ShortName>Business Combinations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/BusinessCombinations</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/FairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/FairValueMeasurements</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/PropertyAndEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/PropertyAndEquipment</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/AccruedExpensesTables</Role>
      <ShortName>Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/AccruedExpenses</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/RevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/Revenue</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - Earnings per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/EarningsPerShare</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Stock-basedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/Stock-basedCompensation</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/IncomeTaxes</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>Summary of Significant Accounting Policies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - Schedule of Assets and Liabilities assumed (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails</Role>
      <ShortName>Schedule of Assets and Liabilities assumed (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - Business Combinations (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative</Role>
      <ShortName>Business Combinations (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/BusinessCombinationsTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails</Role>
      <ShortName>Schedule of Fair Value Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - Schedule of Changes in Fair Value Measurement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails</Role>
      <ShortName>Schedule of Changes in Fair Value Measurement (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails</Role>
      <ShortName>Schedule of Contingent Consideration Common Stock and Warrants (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails</Role>
      <ShortName>Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - Schedule of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails</Role>
      <ShortName>Schedule of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - Schedule of Future Amortization Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails</Role>
      <ShortName>Schedule of Future Amortization Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - Schedule of Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails</Role>
      <ShortName>Schedule of Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - Summary of Revenue by Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails</Role>
      <ShortName>Summary of Revenue by Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - Schedule of Deferred Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails</Role>
      <ShortName>Schedule of Deferred Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>00000046 - Disclosure - Stockholders??? Equity (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/StockholdersEquityDetailsNarrative</Role>
      <ShortName>Stockholders??? Equity (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/StockholdersEquity</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>00000047 - Disclosure - Schedule of Basic and Diluted Earnings Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails</Role>
      <ShortName>Schedule of Basic and Diluted Earnings Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>00000048 - Disclosure - Earnings per Share (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/EarningsPerShareDetailsNarrative</Role>
      <ShortName>Earnings per Share (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/EarningsPerShareTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>00000049 - Disclosure - Schedule of Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfOptionActivityDetails</Role>
      <ShortName>Schedule of Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>00000050 - Disclosure - Schedule of Fair Value of Options Weighted Average Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails</Role>
      <ShortName>Schedule of Fair Value of Options Weighted Average Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>00000051 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails</Role>
      <ShortName>Schedule of Outstanding Restricted Stock Units and Related Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>00000052 - Disclosure - Schedule of Warrant Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails</Role>
      <ShortName>Schedule of Warrant Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>00000053 - Disclosure - Schedule of Fair Value of Warrants Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails</Role>
      <ShortName>Schedule of Fair Value of Warrants Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>00000054 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails</Role>
      <ShortName>Schedule of Recognized Stock-based Compensation Expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>00000055 - Disclosure - Stock-Based Compensation (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative</Role>
      <ShortName>Stock-Based Compensation (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/Stock-basedCompensationTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>00000056 - Disclosure - Schedule of Components Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails</Role>
      <ShortName>Schedule of Components Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>00000057 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails</Role>
      <ShortName>Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>00000058 - Disclosure - Schedule of Deferred Tax Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails</Role>
      <ShortName>Schedule of Deferred Tax Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>00000059 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Schedule of Unrecognized Tax Benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>00000060 - Disclosure - Income Taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>Income Taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/IncomeTaxesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>00000061 - Disclosure - Related Party Transactions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative</Role>
      <ShortName>Related Party Transactions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/RelatedPartyTransactions</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>00000063 - Disclosure - Commitments and Contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and Contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="form10-k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>00000064 - Disclosure - Subsequent Events (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://codiagnostics.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>Subsequent Events (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://codiagnostics.com/role/SubsequentEvents</ParentRole>
      <Position>63</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="form10-k.htm">form10-k.htm</File>
    <File>codx-20211231.xsd</File>
    <File>codx-20211231_cal.xml</File>
    <File>codx-20211231_def.xml</File>
    <File>codx-20211231_lab.xml</File>
    <File>codx-20211231_pre.xml</File>
    <File>ex10-6.htm</File>
    <File>ex10-7.htm</File>
    <File>ex10-9.htm</File>
    <File>ex10-9_1.htm</File>
    <File>ex10-9_2.htm</File>
    <File>ex21-1.htm</File>
    <File>ex23-1.htm</File>
    <File>ex3-1_3.htm</File>
    <File>ex31-1.htm</File>
    <File>ex31-2.htm</File>
    <File>ex32-1.htm</File>
    <File>ex32-2.htm</File>
    <File>ex4-1.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="658">http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>90
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "form10-k.htm": {
   "axisCustom": 1,
   "axisStandard": 21,
   "contextCount": 133,
   "dts": {
    "calculationLink": {
     "local": [
      "codx-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "codx-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "form10-k.htm"
     ]
    },
    "labelLink": {
     "local": [
      "codx-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "codx-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "codx-20211231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd",
      "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd",
      "https://xbrl.sec.gov/country/2021/country-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd"
     ]
    }
   },
   "elementCount": 557,
   "entityCount": 1,
   "hidden": {
    "http://codiagnostics.com/20211231": 13,
    "http://fasb.org/us-gaap/2021-01-31": 108,
    "http://xbrl.sec.gov/dei/2021q4": 3,
    "total": 124
   },
   "keyCustom": 42,
   "keyStandard": 320,
   "memberCustom": 19,
   "memberStandard": 36,
   "nsprefix": "CODX",
   "nsuri": "http://codiagnostics.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00000001 - Document - Cover",
     "role": "http://codiagnostics.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000010 - Disclosure - Business Combinations",
     "role": "http://codiagnostics.com/role/BusinessCombinations",
     "shortName": "Business Combinations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000011 - Disclosure - Fair Value Measurements",
     "role": "http://codiagnostics.com/role/FairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000012 - Disclosure - Property and Equipment",
     "role": "http://codiagnostics.com/role/PropertyAndEquipment",
     "shortName": "Property and Equipment",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000013 - Disclosure - Goodwill and Intangible Assets",
     "role": "http://codiagnostics.com/role/GoodwillAndIntangibleAssets",
     "shortName": "Goodwill and Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000014 - Disclosure - Accrued Expenses",
     "role": "http://codiagnostics.com/role/AccruedExpenses",
     "shortName": "Accrued Expenses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000015 - Disclosure - Revenue",
     "role": "http://codiagnostics.com/role/Revenue",
     "shortName": "Revenue",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000016 - Disclosure - Stockholders\u2019 Equity",
     "role": "http://codiagnostics.com/role/StockholdersEquity",
     "shortName": "Stockholders\u2019 Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000017 - Disclosure - Earnings per Share",
     "role": "http://codiagnostics.com/role/EarningsPerShare",
     "shortName": "Earnings per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000018 - Disclosure - Stock-Based Compensation",
     "role": "http://codiagnostics.com/role/Stock-basedCompensation",
     "shortName": "Stock-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000019 - Disclosure - Income Taxes",
     "role": "http://codiagnostics.com/role/IncomeTaxes",
     "shortName": "Income Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000002 - Statement - Consolidated Balance Sheets",
     "role": "http://codiagnostics.com/role/BalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000020 - Disclosure - Related Party Transactions",
     "role": "http://codiagnostics.com/role/RelatedPartyTransactions",
     "shortName": "Related Party Transactions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000021 - Disclosure - Commitments and Contingencies",
     "role": "http://codiagnostics.com/role/CommitmentsAndContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000022 - Disclosure - Subsequent Events",
     "role": "http://codiagnostics.com/role/SubsequentEvents",
     "shortName": "Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PriorPeriodReclassificationAdjustmentDescription",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000023 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "role": "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PriorPeriodReclassificationAdjustmentDescription",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000024 - Disclosure - Business Combinations (Tables)",
     "role": "http://codiagnostics.com/role/BusinessCombinationsTables",
     "shortName": "Business Combinations (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000025 - Disclosure - Fair Value Measurements (Tables)",
     "role": "http://codiagnostics.com/role/FairValueMeasurementsTables",
     "shortName": "Fair Value Measurements (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000026 - Disclosure - Property and Equipment (Tables)",
     "role": "http://codiagnostics.com/role/PropertyAndEquipmentTables",
     "shortName": "Property and Equipment (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000027 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "role": "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000028 - Disclosure - Accrued Expenses (Tables)",
     "role": "http://codiagnostics.com/role/AccruedExpensesTables",
     "shortName": "Accrued Expenses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000029 - Disclosure - Revenue (Tables)",
     "role": "http://codiagnostics.com/role/RevenueTables",
     "shortName": "Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPShares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000003 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://codiagnostics.com/role/BalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USDPShares",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000030 - Disclosure - Earnings per Share (Tables)",
     "role": "http://codiagnostics.com/role/EarningsPerShareTables",
     "shortName": "Earnings per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000031 - Disclosure - Stock-Based Compensation (Tables)",
     "role": "http://codiagnostics.com/role/Stock-basedCompensationTables",
     "shortName": "Stock-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000032 - Disclosure - Income Taxes (Tables)",
     "role": "http://codiagnostics.com/role/IncomeTaxesTables",
     "shortName": "Income Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000033 - Disclosure - Commitments and Contingencies (Tables)",
     "role": "http://codiagnostics.com/role/CommitmentsAndContingenciesTables",
     "shortName": "Commitments and Contingencies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000034 - Disclosure - Summary of Significant Accounting Policies (Details Narrative)",
     "role": "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
     "shortName": "Summary of Significant Accounting Policies (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodValueAcquisitions",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000035 - Disclosure - Schedule of Assets and Liabilities assumed (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails",
     "shortName": "Schedule of Assets and Liabilities assumed (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ClassOfWarrantOrRightOutstanding",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000036 - Disclosure - Business Combinations (Details Narrative)",
     "role": "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
     "shortName": "Business Combinations (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-012021-12-31_srt_MinimumMember",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LiabilitiesFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000037 - Disclosure - Schedule of Fair Value Assets and Liabilities (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails",
     "shortName": "Schedule of Fair Value Assets and Liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LiabilitiesFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "CODX:ContingentConsideredIssuedForBusinessAcquisitions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000038 - Disclosure - Schedule of Changes in Fair Value Measurement (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails",
     "shortName": "Schedule of Changes in Fair Value Measurement (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "CODX:ContingentConsideredIssuedForBusinessAcquisitions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WarrantsAndRightsOutstandingTerm",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000039 - Disclosure - Schedule of Contingent Consideration Common Stock and Warrants (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
     "shortName": "Schedule of Contingent Consideration Common Stock and Warrants (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31_us-gaap_MeasurementInputSharePriceMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:WarrantsAndRightsOutstandingMeasurementInput",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000004 - Statement - Consolidated Statements of Operations",
     "role": "http://codiagnostics.com/role/StatementsOfOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000040 - Disclosure - Schedule of Property and Equipment (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
     "shortName": "Schedule of Property and Equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000041 - Disclosure - Schedule of Intangible Assets (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails",
     "shortName": "Schedule of Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-012021-12-31_us-gaap_InProcessResearchAndDevelopmentMember",
      "decimals": null,
      "lang": "en-US",
      "name": "CODX:IndefiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000042 - Disclosure - Schedule of Future Amortization Expense (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails",
     "shortName": "Schedule of Future Amortization Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedPayrollTaxesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000043 - Disclosure - Schedule of Accrued Expenses (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails",
     "shortName": "Schedule of Accrued Expenses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedPayrollTaxesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000044 - Disclosure - Summary of Revenue by Geographic Area (Details)",
     "role": "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
     "shortName": "Summary of Revenue by Geographic Area (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000045 - Disclosure - Schedule of Deferred Revenue (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails",
     "shortName": "Schedule of Deferred Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2019-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000046 - Disclosure - Stockholders\u2019 Equity (Details Narrative)",
     "role": "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative",
     "shortName": "Stockholders\u2019 Equity (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "INF",
      "lang": null,
      "name": "CODX:StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000047 - Disclosure - Schedule of Basic and Diluted Earnings Per Share (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails",
     "shortName": "Schedule of Basic and Diluted Earnings Per Share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "INF",
      "lang": null,
      "name": "CODX:WeightedAverageNumberOfBasicSharesOutstanding",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000048 - Disclosure - Earnings per Share (Details Narrative)",
     "role": "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
     "shortName": "Earnings per Share (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-012021-12-31_us-gaap_CommonStockMember",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000049 - Disclosure - Schedule of Option Activity (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails",
     "shortName": "Schedule of Option Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2019-12-31",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000005 - Statement - Consolidated Statement of Changes in Stockholders' Equity",
     "role": "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
     "shortName": "Consolidated Statement of Changes in Stockholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2019-12-31_us-gaap_ConvertiblePreferredStockMember_us-gaap_PreferredStockMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2020-01-012020-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000050 - Disclosure - Schedule of Fair Value of Options Weighted Average Assumptions (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails",
     "shortName": "Schedule of Fair Value of Options Weighted Average Assumptions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2020-01-012020-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000051 - Disclosure - Schedule of Outstanding Restricted Stock Units and Related Activity (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails",
     "shortName": "Schedule of Outstanding Restricted Stock Units and Related Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-012021-12-31_us-gaap_RestrictedStockUnitsRSUMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000052 - Disclosure - Schedule of Warrant Activity (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails",
     "shortName": "Schedule of Warrant Activity (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2019-12-31",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:WarrantsAndRightsOutstandingTerm",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000053 - Disclosure - Schedule of Fair Value of Warrants Assumptions (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails",
     "shortName": "Schedule of Fair Value of Warrants Assumptions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "CODX:ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31_us-gaap_MeasurementInputOptionVolatilityMember",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:WarrantsAndRightsOutstandingMeasurementInput",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000054 - Disclosure - Schedule of Recognized Stock-based Compensation Expense (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
     "shortName": "Schedule of Recognized Stock-based Compensation Expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "CODX:ClassOfWarrantExercisable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000055 - Disclosure - Stock-Based Compensation (Details Narrative)",
     "role": "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
     "shortName": "Stock-Based Compensation (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "CODX:ClassOfWarrantExercisable",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Shares",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000056 - Disclosure - Schedule of Components Income Tax Provision (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails",
     "shortName": "Schedule of Components Income Tax Provision (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000057 - Disclosure - Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails",
     "shortName": "Schedule of Benefit from Income Taxes and Effective Tax Rates (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Pure",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000058 - Disclosure - Schedule of Deferred Tax Assets (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails",
     "shortName": "Schedule of Deferred Tax Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000059 - Disclosure - Schedule of Unrecognized Tax Benefits (Details)",
     "role": "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails",
     "shortName": "Schedule of Unrecognized Tax Benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2020-01-012020-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsOfStockIssuanceCosts",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000006 - Statement - Consolidated Statement of Changes in Stockholders' Equity (Parenthetical)",
     "role": "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical",
     "shortName": "Consolidated Statement of Changes in Stockholders' Equity (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2020-01-012020-12-31_us-gaap_IPOMember",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:PaymentsOfStockIssuanceCosts",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000060 - Disclosure - Income Taxes (Details Narrative)",
     "role": "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative",
     "shortName": "Income Taxes (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLossCarryforwards",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedRoyaltiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000061 - Disclosure - Related Party Transactions (Details Narrative)",
     "role": "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative",
     "shortName": "Related Party Transactions (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccruedRoyaltiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-02-29",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseTermOfContract",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000063 - Disclosure - Commitments and Contingencies (Details Narrative)",
     "role": "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "shortName": "Commitments and Contingencies (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "AsOf2020-02-29",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseTermOfContract",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2022-03-012022-03-31_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember_srt_MaximumMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000064 - Disclosure - Subsequent Events (Details Narrative)",
     "role": "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative",
     "shortName": "Subsequent Events (Details Narrative)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2022-03-012022-03-31_us-gaap_SubsequentEventMember_us-gaap_CommonStockMember_srt_MaximumMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "USD",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00000007 - Statement - Consolidated Statements of cash Flows",
     "role": "http://codiagnostics.com/role/StatementsOfCashFlows",
     "shortName": "Consolidated Statements of cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "USD",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000008 - Disclosure - Overview and Basis of Presentation",
     "role": "http://codiagnostics.com/role/OverviewAndBasisOfPresentation",
     "shortName": "Overview and Basis of Presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "00000009 - Disclosure - Summary of Significant Accounting Policies",
     "role": "http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies",
     "shortName": "Summary of Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "form10-k.htm",
      "contextRef": "From2021-01-01to2021-12-31",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 59,
   "tag": {
    "CODX_AdvancedConceptionsIncAndIdahoMolecularIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Advanced Conceptions, Inc. and Idaho Molecular, Inc. [Member]",
        "label": "Advanced Conceptions, Inc. and Idaho Molecular, Inc. [Member]"
       }
      }
     },
     "localname": "AdvancedConceptionsIncAndIdahoMolecularIncMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_AdvancedConceptionsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Advanced Conceptions Inc [Member]",
        "label": "Advanced Conceptions Inc [Member]"
       }
      }
     },
     "localname": "AdvancedConceptionsIncMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of input, expected term used to measure contingent consideration liability from business combination.",
        "label": "Business combination,contingent consideration, term"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInputExpectedTerm",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "CODX_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business combination recognized identifiable assets acquired and liabilities non competition agreements.",
        "label": "Non competition agreements"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesNonCompetitionAgreements",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_ClassOfWarrantExercisable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of warrant exercisable.",
        "label": "Warrants exercisable"
       }
      }
     },
     "localname": "ClassOfWarrantExercisable",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "CODX_CommonStockOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock One [Member]",
        "label": "Common Stock One [Member]"
       }
      }
     },
     "localname": "CommonStockOneMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_CommonStockThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock Three [Member]",
        "label": "Common Stock Three [Member]"
       }
      }
     },
     "localname": "CommonStockThreeMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_CommonStockTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock Two [Member]",
        "label": "Common Stock Two [Member]"
       }
      }
     },
     "localname": "CommonStockTwoMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_ContingentConsideredIssuedForBusinessAcquisitions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contingent considered issued for business acquisitions.",
        "label": "Contingent considered issued for business acquisitions"
       }
      }
     },
     "localname": "ContingentConsideredIssuedForBusinessAcquisitions",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease due to refunds to customers and application to open balances.",
        "label": "DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances",
        "negatedLabel": "Decrease due to refunds to customers and application to open balances"
       }
      }
     },
     "localname": "DecreaseDueToRefundsToCustomersAndApplicationToOpenBalances",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_DrBrentSatterfieldMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Dr. Brent Satterfield [Member]",
        "label": "Dr. Brent Satterfield [Member]"
       }
      }
     },
     "localname": "DrBrentSatterfieldMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_EarningsBasicPerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings basic per share.",
        "label": "Basic earnings per share"
       }
      }
     },
     "localname": "EarningsBasicPerShare",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation change in valuation allowance.",
        "label": "Change in uncertain tax positions"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInValuationAllowance",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "CODX_EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconcilation foreign derived intangible income deduction.",
        "label": "- Foreign derived intangible income deduction"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignderivedIntangibleIncomeDeduction",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "CODX_ExclusiveLicenseAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Exclusive License Agreement [Member]",
        "label": "Exclusive License Agreement [Member]"
       }
      }
     },
     "localname": "ExclusiveLicenseAgreementMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_FairValueByFairValueHierarchyLevelAxAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value by fair value hierachy level axis.",
        "label": "Fair Value By Fair Value Hierarchy Level Ax [Axis]",
        "verboseLabel": "FairValueByFairValueHierarchyLevelAxAxis [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxAxis",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "CODX_FairValueByFairValueHierarchyLevelAxDomain": {
     "auth_ref": [],
     "localname": "FairValueByFairValueHierarchyLevelAxDomain",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contingent common stock and warrants issued as consideration for business acquisitions.",
        "label": "Fair value of contingent common stock and warrants issued as consideration for business acquisitions"
       }
      }
     },
     "localname": "FairValueOfContingentCommonStockAndWarrantsIssuedAsConsiderationForBusinessAcquisitions",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_FairValueOfContingentConsiderationToCommonStock": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contingent consideration to common stock.",
        "label": "Contingent consideration common stock"
       }
      }
     },
     "localname": "FairValueOfContingentConsiderationToCommonStock",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_FairValueOfContingentConsiderationToWarrants": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contigent consideration to warrants.",
        "label": "Contingent consideration warrants"
       }
      }
     },
     "localname": "FairValueOfContingentConsiderationToWarrants",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_IncreaseDueToNoteReceivable": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase due to note receivable.",
        "label": "Increase due to note receivable"
       }
      }
     },
     "localname": "IncreaseDueToNoteReceivable",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_IncreaseDueToPrepaymentsFromCustomers": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Increase due to prepayments from customers.",
        "label": "Increase due to prepayments from customers"
       }
      }
     },
     "localname": "IncreaseDueToPrepaymentsFromCustomers",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_IndefiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indefinite lived intangible asset useful life.",
        "label": "Estimated useful lives in years, term"
       }
      }
     },
     "localname": "IndefiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "CODX_InvestmentRelationsServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment Relations Services [Member]",
        "label": "Investment Relations Services [Member]"
       }
      }
     },
     "localname": "InvestmentRelationsServicesMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_MeasurementInputAssetVolatilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement Input Asset Volatility [Member]",
        "label": "Measurement Input Asset Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputAssetVolatilityMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_MeasurementInputCostOfCapitalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement Input Cost of Capital [Member]",
        "label": "Measurement Input Cost of Capital [Member]"
       }
      }
     },
     "localname": "MeasurementInputCostOfCapitalMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_MeasurementInputEquityVolatilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement Input Equity Volatility [Member]",
        "label": "Measurement Input Equity Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputEquityVolatilityMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_MeasurementInputRevenueVolatilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement Input Revenue Volatility [Member]",
        "label": "Measurement Input Revenue Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputRevenueVolatilityMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_MeasurementInputStrikePriceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement Input Strike Price [Member]",
        "label": "Measurement Input Strike Price [Member]"
       }
      }
     },
     "localname": "MeasurementInputStrikePriceMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_NetProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net proceeds from issuance of common stock.",
        "label": "Net proceeds from issuance of common stock"
       }
      }
     },
     "localname": "NetProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non cash or part non cash inventory moved to property plant and equipment.",
        "label": "Inventory moved to property, plant and equipment"
       }
      }
     },
     "localname": "NoncashOrPartNoncashInventoryMovedToPropertyPlantAndEquipment",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_OptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Options [Member]",
        "label": "Options [Member]"
       }
      }
     },
     "localname": "OptionsMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_PaymentsToAcquireInterestInJointVentures": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments to acquire interest in joint ventures.",
        "label": "PaymentsToAcquireInterestInJointVentures",
        "negatedLabel": "Investment in joint venture"
       }
      }
     },
     "localname": "PaymentsToAcquireInterestInJointVentures",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_PaymentsToShareHoldersValueAcquisitions": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments to share holders value acquisitions.",
        "label": "Payable to shareholders"
       }
      }
     },
     "localname": "PaymentsToShareHoldersValueAcquisitions",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_ProceedsFromExerciseOfOptionsAndWarrants": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Proceeds from exercise of options and warrants.",
        "label": "Proceeds from exercise of options and warrants"
       }
      }
     },
     "localname": "ProceedsFromExerciseOfOptionsAndWarrants",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_RestOfWorldMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rest of World [Member]",
        "label": "Rest of World [Member]"
       }
      }
     },
     "localname": "RestOfWorldMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Fair Values Warrants Assumptions [Table text block]",
        "label": "Schedule of Fair Value of Warrants Assumptions"
       }
      }
     },
     "localname": "ScheduleOfFairValuesWarrantsAssumptionsTableTextBlock",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Fair Value, Exercised.",
        "label": "Weighted Average Fair Value, Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based compensation arrangement by share-based payment award, non-option, granted in period, weighted average exercise price.",
        "label": "Weighted Average Fair Value, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average exercise price, beginning.",
        "label": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice",
        "periodStartLabel": "Weighted Average Exercise Price, Beginning"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the non-option plan.",
        "label": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice",
        "periodEndLabel": "Weighted Average Exercise Price, Ending"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of warrants exercised.",
        "label": "Intrinsic value of warrants exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Exercise Price, Forfeited/Cancelled.",
        "label": "Weighted Average Exercise Price, Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to non-options of the plan that expired.",
        "label": "Weighted Average Exercise Price, Expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Exercise Price, Forfeited/Cancelled.",
        "label": "Weighted Average Exercise Price, Forfeited/Cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Exercise Price, Granted.",
        "label": "Weighted Average Exercise Price, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning.",
        "label": "Weighted-average Remaining Contractual Life (Years) Outstanding, Beginning"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average Remaining Contractual Life (Years) Outstanding, Ending.",
        "label": "Weighted-average Remaining Contractual Life (Years) Outstanding, Ending"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Fair Value, Beginning.",
        "label": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue",
        "periodEndLabel": "Weighted Average Fair Value, Ending",
        "periodStartLabel": "Weighted Average Fair Value, Beginning"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.",
        "label": "Weighted Average Fair Value, Expired"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsExpirationsWeightedAverageGrantDateFairValue",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted Average Fair Value, Forfeited/Cancelled.",
        "label": "Weighted Average Fair Value, Forfeited/Cancelled"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercisable.",
        "label": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable",
        "periodEndLabel": "Weighted Average Fair Value, Exercisable Ending"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options non vested weighted average grant date fair value exercised.",
        "label": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised",
        "periodEndLabel": "Weighted Average Fair Value Exercised"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercised",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "CODX_StockIssuedDuringPeriodSharesContingentConsideration": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period shares contingent consideration.",
        "label": "Number of shares on contingent consideration"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesContingentConsideration",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "CODX_StockIssuedDuringPeriodSharesForfeited": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares forfeited during period.",
        "label": "[custom:StockIssuedDuringPeriodSharesForfeited]"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesForfeited",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "CODX_StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock issued during period shares issued for vest and restricted stock units.",
        "label": "Vest and restricted stock units"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesIssuedForVestAndRestrictedStockUnits",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "CODX_StockIssuedDuringPeriodSharesStockOptionsExercised1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "StockIssuedDuringPeriodSharesStockOptionsExercised1",
        "negatedLabel": "Number of Options Outstanding, Exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised1",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "CODX_StockOptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock Options [Member]",
        "label": "Stock Options [Member]"
       }
      }
     },
     "localname": "StockOptionsMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_TaxesPayableNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Taxes payable non current.",
        "label": "TaxesPayableNoncurrent",
        "verboseLabel": "Income taxes payable"
       }
      }
     },
     "localname": "TaxesPayableNoncurrent",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "CODX_ThirdPartiesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Third Parties [Member]",
        "label": "Third Parties [Member]"
       }
      }
     },
     "localname": "ThirdPartiesMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_TwoCustomersTogetherMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two Customers Together [Member]",
        "label": "Two Customers Together [Member]"
       }
      }
     },
     "localname": "TwoCustomersTogetherMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_TwoThousandFifteenLongTermIncentivePlanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "2015 Long Term Incentive Plan [Member]",
        "label": "2015 Long Term Incentive Plan [Member]"
       }
      }
     },
     "localname": "TwoThousandFifteenLongTermIncentivePlanMember",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "CODX_WeightedAverageNumberOfBasicSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average number of basic shares outstanding.",
        "label": "Weighted average shares, basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfBasicSharesOutstanding",
     "nsuri": "http://codiagnostics.com/20211231",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_AmendmentDescription": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of changes contained within amended document.",
        "label": "Amendment Description"
       }
      }
     },
     "localname": "AmendmentDescription",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AnnualInformationForm": {
     "auth_ref": [
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.",
        "label": "Annual Information Form"
       }
      }
     },
     "localname": "AnnualInformationForm",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditedAnnualFinancialStatements": {
     "auth_ref": [
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.",
        "label": "Audited Annual Financial Statements"
       }
      }
     },
     "localname": "AuditedAnnualFinancialStatements",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r514",
      "r516",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r514",
      "r516",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r514",
      "r516",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CountryRegion": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Region code of country",
        "label": "Country Region"
       }
      }
     },
     "localname": "CountryRegion",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r514",
      "r516",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentPeriodStartDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format.",
        "label": "Document Period Start Date"
       }
      }
     },
     "localname": "DocumentPeriodStartDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r515"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyEventDate": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date of event requiring a shell company report.",
        "label": "Document Shell Company Event Date"
       }
      }
     },
     "localname": "DocumentShellCompanyEventDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r518"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "auth_ref": [
      "r506"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Documents incorporated by reference.",
        "label": "Documents Incorporated by Reference [Text Block]"
       }
      }
     },
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "textBlockItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine2": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 2 such as Street or Suite number",
        "label": "Entity Address, Address Line Two"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressAddressLine3": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 3 such as an Office Park",
        "label": "Entity Address, Address Line Three"
       }
      }
     },
     "localname": "EntityAddressAddressLine3",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "auth_ref": [
      "r509"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not.  Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element.",
        "label": "Entity Bankruptcy Proceedings, Reporting Current"
       }
      }
     },
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityExTransitionPeriod": {
     "auth_ref": [
      "r523"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.",
        "label": "Elected Not To Use the Extended Transition Period"
       }
      }
     },
     "localname": "EntityExTransitionPeriod",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPrimarySicNumber": {
     "auth_ref": [
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.",
        "label": "Entity Primary SIC Number"
       }
      }
     },
     "localname": "EntityPrimarySicNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "sicNumberItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r521"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_Extension": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Extension number for local phone number.",
        "label": "Extension"
       }
      }
     },
     "localname": "Extension",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r514",
      "r516",
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "trueItemType"
    },
    "dei_OtherReportingStandardItemNumber": {
     "auth_ref": [
      "r516"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.",
        "label": "Other Reporting Standard Item Number"
       }
      }
     },
     "localname": "OtherReportingStandardItemNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "otherReportingStandardItemNumberItemType"
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "auth_ref": [
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.",
        "label": "Pre-commencement Issuer Tender Offer"
       }
      }
     },
     "localname": "PreCommencementIssuerTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_PreCommencementTenderOffer": {
     "auth_ref": [
      "r511"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.",
        "label": "Pre-commencement Tender Offer"
       }
      }
     },
     "localname": "PreCommencementTenderOffer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_Security12gTitle": {
     "auth_ref": [
      "r508"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(g) registered security.",
        "label": "Title of 12(g) Security"
       }
      }
     },
     "localname": "Security12gTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r507"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_SecurityReportingObligation": {
     "auth_ref": [
      "r512"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.",
        "label": "Security Reporting Obligation"
       }
      }
     },
     "localname": "SecurityReportingObligation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "securityReportingObligationItemType"
    },
    "dei_SolicitingMaterial": {
     "auth_ref": [
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.",
        "label": "Soliciting Material"
       }
      }
     },
     "localname": "SolicitingMaterial",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "dei_WrittenCommunications": {
     "auth_ref": [
      "r522"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.",
        "label": "Written Communications"
       }
      }
     },
     "localname": "WrittenCommunications",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://codiagnostics.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "srt_AmericasMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Americas [Member]"
       }
      }
     },
     "localname": "AmericasMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r163",
      "r263",
      "r269",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r220",
      "r227",
      "r285",
      "r287",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r474",
      "r478",
      "r500",
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails",
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r220",
      "r227",
      "r285",
      "r287",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r474",
      "r478",
      "r500",
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails",
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r163",
      "r263",
      "r269",
      "r477"
     ],
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r160",
      "r263",
      "r267",
      "r440",
      "r473",
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r160",
      "r263",
      "r267",
      "r440",
      "r473",
      "r475"
     ],
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r220",
      "r227",
      "r275",
      "r285",
      "r287",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r474",
      "r478",
      "r500",
      "r501"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails",
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r220",
      "r227",
      "r275",
      "r285",
      "r287",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r474",
      "r478",
      "r500",
      "r501"
     ],
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails",
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r161",
      "r162",
      "r263",
      "r268",
      "r476",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499"
     ],
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r161",
      "r162",
      "r263",
      "r268",
      "r476",
      "r485",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualAxis": {
     "auth_ref": [
      "r164",
      "r418"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "localname": "TitleOfIndividualAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "auth_ref": [],
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r44"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accrued Expenses"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/AccruedExpenses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r43",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "auth_ref": [
      "r165",
      "r166"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableGrossCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r6",
      "r31",
      "r165",
      "r166"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetNoncurrent": {
     "auth_ref": [
      "r31",
      "r165",
      "r449",
      "r461"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Noncurrent",
        "verboseLabel": "Note receivable"
       }
      }
     },
     "localname": "AccountsReceivableNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued expenses, current",
        "verboseLabel": "Total accrued expenses"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedPayrollTaxesCurrent": {
     "auth_ref": [
      "r14",
      "r48"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory payroll taxes incurred through that date and withheld from employees pertaining to services received from them, including entity's matching share of the employees FICA taxes and contributions to the state and federal unemployment insurance programs. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Payroll liabilities"
       }
      }
     },
     "localname": "AccruedPayrollTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedRoyaltiesCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r48"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for royalties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued royalties"
       }
      }
     },
     "localname": "AccruedRoyaltiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedSalesCommissionCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r48"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for sales commissions. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Distributor commissions"
       }
      }
     },
     "localname": "AccruedSalesCommissionCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r42",
      "r199"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less: accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "auth_ref": [
      "r63",
      "r64",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss).",
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r32",
      "r324",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.",
        "label": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r106",
      "r107",
      "r108",
      "r321",
      "r322",
      "r323",
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r289",
      "r318",
      "r326"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Total stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r37",
      "r171",
      "r180"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Potentially dilutive shares",
        "verboseLabel": "Securities excluded from computation of diluted earnings per share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AreaOfLand": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area of land held.",
        "label": "Area of land"
       }
      }
     },
     "localname": "AreaOfLand",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "areaItemType"
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetAcquisitionContingentConsiderationLiabilityCurrent": {
     "auth_ref": [
      "r382"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized from contingent consideration in asset acquisition, classified as current.",
        "label": "Contingent consideration liabilities, current"
       }
      }
     },
     "localname": "AssetAcquisitionContingentConsiderationLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetAcquisitionContingentConsiderationLiabilityNoncurrent": {
     "auth_ref": [
      "r382"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized from contingent consideration in asset acquisition, classified as noncurrent.",
        "label": "Contingent consideration liabilities"
       }
      }
     },
     "localname": "AssetAcquisitionContingentConsiderationLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r100",
      "r149",
      "r152",
      "r158",
      "r178",
      "r207",
      "r208",
      "r209",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r385",
      "r387",
      "r404",
      "r421",
      "r423",
      "r445",
      "r462"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets [Default Label]",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r10",
      "r12",
      "r59",
      "r100",
      "r178",
      "r207",
      "r208",
      "r209",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r385",
      "r387",
      "r404",
      "r421",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total assets measured at fair value"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r290",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [
      "r284",
      "r286"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r284",
      "r286",
      "r372",
      "r373"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition [Line Items]"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination and Asset Acquisition [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationAndAssetAcquisitionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r378",
      "r379",
      "r381"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business combination, consideration transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": {
     "auth_ref": [
      "r397"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of input used to measure contingent consideration liability from business combination.",
        "label": "Business combination,contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "decimalItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": {
     "auth_ref": [
      "r377",
      "r380"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.",
        "label": "Business Combination, Contingent Consideration, Liability, Noncurrent",
        "periodEndLabel": "Asset acquisition contingent consideration liability noncurrent",
        "periodStartLabel": "Asset acquisition contingent consideration liability noncurrent"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfChangesInFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "auth_ref": [
      "r375"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "auth_ref": [
      "r375"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": {
     "auth_ref": [
      "r375"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.",
        "label": "Accounts receivables"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities": {
     "auth_ref": [
      "r375"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities",
        "negatedLabel": "Accounts payable and accrued other expenses"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "auth_ref": [
      "r375"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities",
        "negatedLabel": "Deferred tax liability"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r374",
      "r375"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.",
        "label": "Total indentifiable net assets"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "auth_ref": [
      "r374",
      "r375"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date.",
        "label": "Property and equipments"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities": {
     "auth_ref": [
      "r374",
      "r375"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This item represents liabilities associated with restructuring or exit activities of the acquiree, existing at the acquisition date (present liabilities of the acquiree).",
        "label": "Research and development in process"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRestructuringLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": {
     "auth_ref": [
      "r375"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.",
        "label": "Total"
       }
      }
     },
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r371"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "verboseLabel": "Business Combinations"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "auth_ref": [
      "r3",
      "r105",
      "r144"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the business description and basis of presentation concepts.  Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity.  Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Overview and Basis of Presentation"
       }
      }
     },
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/OverviewAndBasisOfPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r4",
      "r38",
      "r90"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r20",
      "r91"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "auth_ref": [
      "r83",
      "r90",
      "r93"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r83",
      "r405"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r98",
      "r100",
      "r121",
      "r122",
      "r123",
      "r125",
      "r127",
      "r136",
      "r137",
      "r138",
      "r178",
      "r207",
      "r212",
      "r213",
      "r214",
      "r218",
      "r219",
      "r225",
      "r226",
      "r229",
      "r233",
      "r404",
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock."
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ClassOfWarrantOrRightOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of warrants or rights outstanding.",
        "label": "Warrants to purchase shares of common stock",
        "verboseLabel": "Warrants purchase"
       }
      }
     },
     "localname": "ClassOfWarrantOrRightOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]"
       }
      }
     },
     "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r51",
      "r205",
      "r451",
      "r466"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and contingencies (Note 14)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r202",
      "r203",
      "r204",
      "r206",
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "auth_ref": [
      "r52"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate number of common shares reserved for future issuance.",
        "label": "Aggregate number of common shares reserved"
       }
      }
     },
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r106",
      "r107",
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r29"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r29"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common stock, shares authorized"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r29"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common stock, shares issued"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r29",
      "r239"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common stock, shares outstanding"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r29",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common stock, $0.001 par value; 100,000,000 shares authorized; 33,819,862 and 28,558,033 shares issued and outstanding as of December 31, 2021 and December 31, 2020, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r142",
      "r143",
      "r163",
      "r402",
      "r403",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r142",
      "r143",
      "r163",
      "r402",
      "r403",
      "r484",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r142",
      "r143",
      "r163",
      "r402",
      "r403",
      "r484",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r139",
      "r459"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentrations Risk and Significant Customers"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r142",
      "r143",
      "r163",
      "r402",
      "r403"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration risk percentage",
        "verboseLabel": "Percentage of revenue"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r142",
      "r143",
      "r163",
      "r402",
      "r403",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of contingent consideration in a business combination that is classified in shareholders' equity.",
        "label": "Fair value of contingent shares"
       }
      }
     },
     "localname": "ContingentConsiderationClassifiedAsEquityFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r246"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.",
        "label": "Schedule of Deferred Revenue"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r244",
      "r245",
      "r264"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "periodEndLabel": "Deferred revenue, Ending balance",
        "periodStartLabel": "Deferred revenue, beginning balance"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r244",
      "r245",
      "r264"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r265"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "negatedLabel": "Revenue recognized included in deferred revenue balance at the beginning of the period"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertiblePreferredStockMember": {
     "auth_ref": [
      "r225",
      "r226",
      "r229"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred stock that may be exchanged into common shares or other types of securities at the owner's option.",
        "label": "Convertible Preferred Stock [Member]"
       }
      }
     },
     "localname": "ConvertiblePreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r74",
      "r100",
      "r178",
      "r207",
      "r208",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r404"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.",
        "label": "Cost of revenue"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state, local, and federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Federal, State and Local, Tax Expense (Benefit)",
        "totalLabel": "Total current"
       }
      }
     },
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current:"
       }
      }
     },
     "localname": "CurrentFederalStateAndLocalTaxExpenseBenefitAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r354",
      "r362"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r354",
      "r362"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CurrentFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r140",
      "r163"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r355",
      "r362"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "verboseLabel": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state, local, and federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Federal, State and Local, Tax Expense (Benefit)",
        "totalLabel": "Total deferred"
       }
      }
     },
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefitAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred:"
       }
      }
     },
     "localname": "DeferredFederalStateAndLocalTaxExpenseBenefitAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r332",
      "r333"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred tax asset"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r88",
      "r101",
      "r355",
      "r362",
      "r363",
      "r364"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r25",
      "r26",
      "r345",
      "r446",
      "r460"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "negatedTotalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r332",
      "r333"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred tax liability"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r101",
      "r355",
      "r362"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredFederalStateAndLocalTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "verboseLabel": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r346"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsGrossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.",
        "label": "Research and development credits",
        "verboseLabel": "Research and development credit carry forwards"
       }
      }
     },
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r348"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "negatedLabel": "Net deferred tax assets (liabilities)",
        "verboseLabel": "Net deferred tax assets (liabilities)"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Net deferred tax assets (liabilities)"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.",
        "label": "Deferred compensation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Accrued liabilities"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.",
        "label": "Reserves and allowances"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r347"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Less valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "negatedLabel": "Intangibles, net"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "negatedLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses.",
        "label": "Deferred Tax Liabilities, Prepaid Expenses",
        "negatedLabel": "Prepaids"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPrepaidExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r352",
      "r353"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "negatedLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r88",
      "r147"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r263",
      "r267",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": {
     "auth_ref": [
      "r290",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of share-based payment arrangement.",
        "label": "Stock-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r43",
      "r104",
      "r210",
      "r212",
      "r213",
      "r217",
      "r218",
      "r219",
      "r417"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued expenses (related party), current"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrentAndNoncurrent": {
     "auth_ref": [
      "r104",
      "r210",
      "r212",
      "r213",
      "r217",
      "r218",
      "r219",
      "r417",
      "r450",
      "r468"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties.",
        "label": "Due to related party"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesNoncurrent": {
     "auth_ref": [
      "r50",
      "r104",
      "r210",
      "r212",
      "r213",
      "r217",
      "r218",
      "r219",
      "r417"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portion of the carrying amount as of the balance sheet date of obligations due all related parties that is payable after one year or beyond the normal operating cycle if longer.",
        "label": "Accrued expenses (related party), noncurrent"
       }
      }
     },
     "localname": "DueToRelatedPartiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r68",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r119",
      "r121",
      "r125",
      "r126",
      "r127",
      "r131",
      "r132",
      "r390",
      "r391",
      "r455",
      "r470"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Basic"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per common share:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r68",
      "r111",
      "r112",
      "r113",
      "r114",
      "r115",
      "r121",
      "r125",
      "r126",
      "r127",
      "r131",
      "r132",
      "r390",
      "r391",
      "r455",
      "r470"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Diluted",
        "verboseLabel": "Diluted earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r128",
      "r129"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Net Income per Share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r128",
      "r129",
      "r130",
      "r133"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r102",
      "r335",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Federal income tax expense at statutory rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r335",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Change in valuation allowance"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r335",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "- Other permanent differences"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment": {
     "auth_ref": [
      "r335",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development expense.",
        "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent",
        "negatedLabel": "Research and development credits"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r335",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments.",
        "label": "Effective income tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Permanent differences:"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "auth_ref": [
      "r327",
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "- Stock based compensation"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r335",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "State income tax expense, net of federal tax benefit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBenefitFromIncomeTaxesAndEffectiveTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r319"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.",
        "label": "Unrecognized stock-based compensation"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r319"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Unrecognized stock-based compensation recognition period"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Share-based Payment Arrangement, Option [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services.",
        "label": "Equipment [Member]"
       }
      }
     },
     "localname": "EquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r63",
      "r64",
      "r65",
      "r106",
      "r107",
      "r108",
      "r110",
      "r116",
      "r118",
      "r135",
      "r179",
      "r239",
      "r241",
      "r321",
      "r322",
      "r323",
      "r358",
      "r359",
      "r389",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r479",
      "r480",
      "r481",
      "r524"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative",
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity method investment ownership percentage"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "auth_ref": [
      "r70",
      "r71",
      "r88"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment.",
        "label": "Gain (loss) on equity method investment in joint venture"
       }
      }
     },
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "auth_ref": [
      "r39",
      "r82",
      "r177",
      "r404"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.",
        "label": "Equity-Method Investments"
       }
      }
     },
     "localname": "EquityMethodInvestmentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r392",
      "r393",
      "r394",
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": {
     "auth_ref": [
      "r392",
      "r393",
      "r394",
      "r399",
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.",
        "label": "Schedule of Changes in Fair Value Measurement"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.",
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.",
        "label": "Schedule of Contingent Consideration Common Stock and Warrants"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "auth_ref": [
      "r392",
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).",
        "label": "Schedule of Fair Value Assets and Liabilities"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r221",
      "r223",
      "r224",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r393",
      "r427",
      "r428",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value Hierarchy and NAV [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r392",
      "r393",
      "r396",
      "r397",
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r398"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Measurements"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/FairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r221",
      "r276",
      "r277",
      "r282",
      "r283",
      "r393",
      "r427"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value, Inputs, Level 1 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r221",
      "r223",
      "r224",
      "r276",
      "r277",
      "r282",
      "r283",
      "r393",
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.",
        "label": "Fair Value, Inputs, Level 2 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r221",
      "r223",
      "r224",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r393",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value, Inputs, Level 3 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency."
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r221",
      "r223",
      "r224",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r427",
      "r428",
      "r429"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r398",
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.",
        "label": "Fair Value, Recurring [Member]"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Estimated useful lives in years"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r194"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Less accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r195"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r195"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r195"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r190",
      "r191",
      "r194",
      "r196",
      "r441",
      "r442"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r194",
      "r442"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Intangible assets, gross"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r190",
      "r193"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r194",
      "r441"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureAmortizationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1": {
     "auth_ref": [
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining amortization period of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite lived intangible assets remaining amortization period"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_GainLossOnDispositionOfAssets1": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee.",
        "label": "Loss on disposition of assets",
        "negatedLabel": "Loss on disposition of assets"
       }
      }
     },
     "localname": "GainLossOnDispositionOfAssets1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfInvestments": {
     "auth_ref": [
      "r88"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.",
        "label": "Gain (Loss) on Sale of Investments",
        "negatedLabel": "Loss (gain) from equity method investment"
       }
      }
     },
     "localname": "GainLossOnSaleOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r75"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and administrative",
        "verboseLabel": "General and administrative expense"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r141",
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r187",
      "r188",
      "r423",
      "r444"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r197"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for goodwill and intangible assets.",
        "label": "Goodwill and Intangible Assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r73",
      "r100",
      "r149",
      "r151",
      "r154",
      "r157",
      "r159",
      "r178",
      "r207",
      "r208",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r404"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IPOMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "First sale of stock by a private company to the public.",
        "label": "IPO [Member]"
       }
      }
     },
     "localname": "IPOMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.",
        "label": "In Process Research and Development [Member]"
       }
      }
     },
     "localname": "InProcessResearchAndDevelopmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r66",
      "r149",
      "r151",
      "r154",
      "r157",
      "r159",
      "r443",
      "r453",
      "r456",
      "r471"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r102",
      "r336",
      "r343",
      "r350",
      "r360",
      "r366",
      "r368",
      "r369",
      "r370"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r103",
      "r117",
      "r118",
      "r148",
      "r334",
      "r361",
      "r367",
      "r472"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income tax provision",
        "totalLabel": "Total income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfComponentsIncomeTaxProvisionDetails",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r62",
      "r330",
      "r331",
      "r343",
      "r344",
      "r349",
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "verboseLabel": "Income Taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r92"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income taxes paid"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.",
        "label": "Accounts payable and accrued expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "verboseLabel": "Income taxes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r87",
      "r437"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "verboseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventory"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.",
        "label": "Increase (Decrease) in Prepaid Expense",
        "negatedLabel": "Prepaid expenses"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r189",
      "r192"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeOther": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest income earned from interest bearing assets classified as other.",
        "label": "Interest income"
       }
      }
     },
     "localname": "InterestIncomeOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r81",
      "r84",
      "r92"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest paid"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryFinishedGoods": {
     "auth_ref": [
      "r55"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.",
        "label": "Inventory finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoods",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r5",
      "r57",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r16",
      "r58",
      "r95",
      "r134",
      "r182",
      "r183",
      "r184",
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "verboseLabel": "Inventory"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterials": {
     "auth_ref": [
      "r56"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterials",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseAndRentalExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of rent expense incurred for leased assets, including but not limited to, furniture and equipment, that is not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "Rent expenses"
       }
      }
     },
     "localname": "LeaseAndRentalExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseExpirationDate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format.",
        "label": "Lease expiration date"
       }
      }
     },
     "localname": "LeaseExpirationDate1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseholdsAndLeaseholdImprovementsMember": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Assets held by a lessee under a capital lease and any addition or improvement to assets held under a lease arrangement (including addition or improvement to assets held by lessee under an operating lease arrangement).",
        "label": "Leaseholds and Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdsAndLeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r414"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Schedule of Future Minimum Lease Payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "verboseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "verboseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "verboseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating lease, term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r46",
      "r100",
      "r153",
      "r178",
      "r207",
      "r208",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r386",
      "r387",
      "r388",
      "r404",
      "r421",
      "r422"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r36",
      "r100",
      "r178",
      "r404",
      "r423",
      "r447",
      "r464"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and stockholders\u2019 equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r49",
      "r100",
      "r178",
      "r207",
      "r208",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r386",
      "r387",
      "r388",
      "r404",
      "r421",
      "r422",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of financial and nonfinancial obligations.",
        "label": "Total liabilities measured at fair value"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "auth_ref": [
      "r17",
      "r18",
      "r19",
      "r23",
      "r24",
      "r100",
      "r178",
      "r207",
      "r208",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r386",
      "r387",
      "r388",
      "r404",
      "r421",
      "r422"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.",
        "label": "Liabilities, Noncurrent",
        "totalLabel": "Total long-term liabilities"
       }
      }
     },
     "localname": "LiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term liabilities"
       }
      }
     },
     "localname": "LiabilitiesNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MarketableSecurities": {
     "auth_ref": [
      "r452"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in marketable security.",
        "label": "Marketable securities (certificates of deposit)"
       }
      }
     },
     "localname": "MarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MarketableSecuritiesCurrent": {
     "auth_ref": [
      "r8",
      "r47"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in marketable security, classified as current.",
        "label": "Marketable investment securities"
       }
      }
     },
     "localname": "MarketableSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "auth_ref": [
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for investment classified as marketable security.",
        "label": "Marketable Investment Securities"
       }
      }
     },
     "localname": "MarketableSecuritiesPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MeasurementInputDiscountRateMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using interest rate to determine present value of future cash flows.",
        "label": "Measurement Input, Discount Rate [Member]"
       }
      }
     },
     "localname": "MeasurementInputDiscountRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputExpectedDividendRateMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using expected dividend rate to be paid to holder of share per year.",
        "label": "Measurement Input, Expected Dividend Rate [Member]"
       }
      }
     },
     "localname": "MeasurementInputExpectedDividendRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputExpectedTermMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using period financial instrument is expected to be outstanding. Excludes maturity date.",
        "label": "Measurement Input, Expected Term [Member]"
       }
      }
     },
     "localname": "MeasurementInputExpectedTermMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputOptionVolatilityMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using rate at which price of option increases (decreases) for given set of returns.",
        "label": "Measurement Input, Option Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputOptionVolatilityMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputPriceVolatilityMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using rate at which price of security will increase (decrease) for given set of returns.",
        "label": "Measurement Input, Price Volatility [Member]"
       }
      }
     },
     "localname": "MeasurementInputPriceVolatilityMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputRiskFreeInterestRateMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss.",
        "label": "Measurement Input, Risk Free Interest Rate [Member]"
       }
      }
     },
     "localname": "MeasurementInputRiskFreeInterestRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputSharePriceMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input using share price of saleable stock.",
        "label": "Measurement Input, Share Price [Member]"
       }
      }
     },
     "localname": "MeasurementInputSharePriceMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of measurement input used to determine value of asset and liability.",
        "label": "Measurement Input Type [Axis]"
       }
      }
     },
     "localname": "MeasurementInputTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement input used to determine value of asset and liability."
       }
      }
     },
     "localname": "MeasurementInputTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r83",
      "r86",
      "r89"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r2",
      "r60",
      "r61",
      "r65",
      "r67",
      "r89",
      "r100",
      "r109",
      "r111",
      "r112",
      "r113",
      "r114",
      "r117",
      "r118",
      "r124",
      "r149",
      "r151",
      "r154",
      "r157",
      "r159",
      "r178",
      "r207",
      "r208",
      "r209",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r218",
      "r219",
      "r391",
      "r404",
      "r454",
      "r469"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income, as reported"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "Recently Issued Accounting Standards"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of non-cash investing and financing transactions"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r376"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Noncompete Agreements [Member]"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Total other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesAndLoansReceivableNetCurrent": {
     "auth_ref": [
      "r6",
      "r7",
      "r30",
      "r165",
      "r166",
      "r448"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as current. Includes, but is not limited to, notes and loan receivable.",
        "label": "Note receivable"
       }
      }
     },
     "localname": "NotesAndLoansReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OfficeEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.",
        "label": "Office Equipment [Member]"
       }
      }
     },
     "localname": "OfficeEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "totalLabel": "Total operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r149",
      "r151",
      "r154",
      "r157",
      "r159"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "totalLabel": "Income from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r351"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Net operating loss carry-forwards"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r13",
      "r14",
      "r15",
      "r48"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other accrued liabilities"
       }
      }
     },
     "localname": "OtherAccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRent": {
     "auth_ref": [
      "r85"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash payments to lessor's for use of assets under operating leases.",
        "label": "Payments for rent"
       }
      }
     },
     "localname": "PaymentsForRent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRoyalties": {
     "auth_ref": [
      "r85"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid for royalties during the current period.",
        "label": "Payment for royalties per month"
       }
      }
     },
     "localname": "PaymentsForRoyalties",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Public offering costs",
        "negatedLabel": "Payment of offering costs",
        "verboseLabel": "Offering costs"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical",
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedLabel": "Business combinations, net of cash acquired"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "auth_ref": [
      "r175"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for purchase of marketable security.",
        "label": "Payments to Acquire Marketable Securities",
        "negatedLabel": "Purchases of marketable investment securities"
       }
      }
     },
     "localname": "PaymentsToAcquireMarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r78"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r290",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.",
        "label": "Preferred Stock [Member]"
       }
      }
     },
     "localname": "PreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r28",
      "r225"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Convertible preferred stock, par value"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Convertible preferred stock , shares authorized"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r28",
      "r225"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Convertible preferred stock, shares issued"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.",
        "label": "Convertible preferred stock, shares outstanding"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r28",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Convertible preferred stock, $0.001 par value; 5,000,000 shares authorized; 0 shares issued and outstanding as of December 31, 2021 and December 31, 2020"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "auth_ref": [
      "r9",
      "r11",
      "r185",
      "r186"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses"
       }
      }
     },
     "localname": "PrepaidExpenseCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "auth_ref": [
      "r1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error.",
        "label": "Reclassifications"
       }
      }
     },
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from sale of common stock",
        "verboseLabel": "Issuance of common stock gross proceeds"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities  (held-to-maturity or available-for-sale) during the period.",
        "label": "Proceeds from maturities of marketable investment securities"
       }
      }
     },
     "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Information [Line Items]"
       }
      }
     },
     "localname": "ProductInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r42",
      "r200"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r201",
      "r488",
      "r489",
      "r490"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/PropertyAndEquipment"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r41",
      "r198"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r21",
      "r22",
      "r200",
      "r423",
      "r458",
      "r465"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r40",
      "r200",
      "r488",
      "r489"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "verboseLabel": "Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r21",
      "r200"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Schedule of Property and Equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/PropertyAndEquipmentTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r21",
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Estimated useful life of property",
        "verboseLabel": "Property and equipment estimated useful lives"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r69",
      "r181"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Bad debt expense"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RealEstateInvestmentsJointVentures": {
     "auth_ref": [
      "r467"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The book value of investments in real estate joint ventures including direct and indirect investments.",
        "label": "Investment in joint venture"
       }
      }
     },
     "localname": "RealEstateInvestmentsJointVentures",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions [Abstract]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r415",
      "r416",
      "r417",
      "r419",
      "r420"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.",
        "label": "Related Party Transactions"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r328",
      "r439",
      "r502"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and development",
        "verboseLabel": "Research and development costs"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r328"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.",
        "label": "Research and Development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units (RSUs) [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r33",
      "r241",
      "r324",
      "r423",
      "r463",
      "r482",
      "r483"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Accumulated earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r106",
      "r107",
      "r108",
      "r110",
      "r116",
      "r118",
      "r179",
      "r321",
      "r322",
      "r323",
      "r358",
      "r359",
      "r389",
      "r479",
      "r481"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r145",
      "r146",
      "r150",
      "r155",
      "r156",
      "r160",
      "r161",
      "r163",
      "r262",
      "r263",
      "r440"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r145",
      "r146",
      "r150",
      "r155",
      "r156",
      "r160",
      "r161",
      "r163",
      "r262",
      "r263",
      "r440"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.",
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r96",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Deferred Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r246",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r266",
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "verboseLabel": "Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Revenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "auth_ref": [
      "r96",
      "r97"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.",
        "label": "Revenue Recognition"
       }
      }
     },
     "localname": "RevenueRecognitionPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "localname": "SaleOfStockNameOfTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.",
        "label": "Sale of common stock purchase price per shares"
       }
      }
     },
     "localname": "SaleOfStockPricePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SalesAndExciseTaxPayableCurrent": {
     "auth_ref": [
      "r14",
      "r43"
     ],
     "calculation": {
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Sales tax payable"
       }
      }
     },
     "localname": "SalesAndExciseTaxPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAccruedExpensesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r142",
      "r163"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.",
        "label": "Revenue Benchmark [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfRevenueByGeographicAreaDetails",
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Expenses"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/AccruedExpensesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r372",
      "r373"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "auth_ref": [
      "r372",
      "r373"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table  does not include leveraged buyouts.",
        "label": "Schedule of Assets and Liabilities assumed"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": {
     "auth_ref": [
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]"
       }
      }
     },
     "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components Income Tax Provision"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r348"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Schedule of Deferred Tax Assets"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Basic and Diluted Earnings Per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Benefit from Income Taxes and Effective Tax Rates"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r190",
      "r193",
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfIntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r190",
      "r193"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line.",
        "label": "Schedule of Product Information [Table]"
       }
      }
     },
     "localname": "ScheduleOfProductInformationTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r42",
      "r200"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfPropertyAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r72",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Summary of Revenue by Geographic Area"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": {
     "auth_ref": [
      "r302",
      "r307",
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value.",
        "label": "Schedule of Recognized Stock-based Compensation Expense"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r290",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r293"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Schedule of Outstanding Restricted Stock Units and Related Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r293",
      "r307",
      "r310"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.",
        "label": "Schedule of Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r312"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Schedule of Fair Value of Options Weighted Average Assumptions"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock": {
     "auth_ref": [
      "r242",
      "r288"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of warrants or rights issued. Warrants and rights outstanding are derivative securities that give the holder the right to purchase securities (usually equity) from the issuer at a specific price within a certain time frame. Warrants are often included in a new debt issue to entice investors by a higher return potential. The main difference between warrants and call options is that warrants are issued and guaranteed by the company, whereas options are exchange instruments and are not issued by the company. Also, the lifetime of a warrant is often measured in years, while the lifetime of a typical option is measured in months. Disclose the title of issue of securities called for by warrants and rights outstanding, the aggregate amount of securities called for by warrants and rights outstanding, the date from which the warrants or rights are exercisable, and the price at which the warrant or right is exercisable.",
        "label": "Schedule of Warrant Activity"
       }
      }
     },
     "localname": "ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r342",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r193"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.",
        "label": "Schedule of Future Amortization Expense"
       }
      }
     },
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.",
        "label": "Sales and marketing"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r87"
     ],
     "calculation": {
      "http://codiagnostics.com/role/StatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "verboseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Number of Restricted Stock Units, Forfeited/Cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r306"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Weighted Average Grant Date Fair Value, Forfeited/Cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Number of Restricted Stock Units, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Weighted Average Grant Date Fair Value, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r303"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Number of Restricted Stock Units, Outstanding Ending",
        "periodStartLabel": "Number of Restricted Stock Units, Outstanding Beginning"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r303"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted Average Grant Date Fair Value, Outstanding Ending",
        "periodStartLabel": "Weighted Average Grant Date Fair Value, Outstanding Beginning"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Number of Restricted Stock Units, Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Weighted Average Grant Date Fair Value, Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Expected dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r314"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Expected volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r316"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Risk-free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "auth_ref": [
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-option equity instruments exercised by participants.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised",
        "negatedLabel": "Number of Warrants Outstanding, Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations": {
     "auth_ref": [
      "r301"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares under non-option equity instrument agreements for which rights to exercise lapsed.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Expirations",
        "negatedLabel": "Number of Warrants Outstanding, Expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures": {
     "auth_ref": [
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event.",
        "label": "Number of Warrants Outstanding, Forfeited/Cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted": {
     "auth_ref": [
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net number of non-option equity instruments granted to participants.",
        "label": "Number of Warrants Outstanding, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "auth_ref": [
      "r294",
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "periodEndLabel": "Number of Warrants Outstanding, Ending",
        "periodStartLabel": "Number of Warrants Outstanding, Beginning"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfWarrantActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.",
        "label": "Number of common shares availalble for issuance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "periodEndLabel": "Number of Options Exercisable Ending"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Exercise Price, Exercisable Ending"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r309"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "auth_ref": [
      "r301"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Number of Options Outstanding, Expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "Number of Options Outstanding, Forfeited/Cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "auth_ref": [
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net number of share options (or share units) granted during the period.",
        "label": "Number of Options Outstanding, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r308"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Weighted Average Fair Value Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r320"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Intrinsic value of options outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r295",
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Number of Options Outstanding, Ending",
        "periodStartLabel": "Number of Options Outstanding, Beginning"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r294"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Exercise Price Outstanding, Ending",
        "periodStartLabel": "Weighted Average Exercise Price Outstanding, Beginning"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r288",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOutstandingRestrictedStockUnitsAndRelatedActivityDetails",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Weighted Average Exercise Price Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.",
        "label": "Weighted Average Exercise Price Expired"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Weighted Average Exercise Price Forfeited/Cancelled"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Weighted Average Exercise Price Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r290",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Stock-based Compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r313",
      "r325"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Expected life (years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfFairValueOfOptionsWeightedAverageAssumptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r320"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Weighted-average Remaining Contractual Life (years), Exercisable Ending"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-vested options outstanding.",
        "label": "Unvested options"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited.",
        "label": "Weighted Average Fair Value Forfeited/Cancelled"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Option, Nonvested, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Fair Value Outstanding, Ending",
        "periodStartLabel": "Weighted Average Fair Value Outstanding, Beginning"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r311"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Weighted-average Remaining Contractual Life (years) Outstanding, Ending"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of options vested.",
        "label": "Weighted Average Fair Value Expired"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfOptionActivityDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.",
        "label": "Shares, Outstanding",
        "periodEndLabel": "Ending balance, shares",
        "periodStartLabel": "Beginning balance, shares"
       }
      }
     },
     "localname": "SharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r94",
      "r105"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Summary of Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r27",
      "r28",
      "r29",
      "r98",
      "r100",
      "r121",
      "r122",
      "r123",
      "r125",
      "r127",
      "r136",
      "r137",
      "r138",
      "r178",
      "r207",
      "r212",
      "r213",
      "r214",
      "r218",
      "r219",
      "r225",
      "r226",
      "r229",
      "r233",
      "r239",
      "r404",
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r54",
      "r63",
      "r64",
      "r65",
      "r106",
      "r107",
      "r108",
      "r110",
      "r116",
      "r118",
      "r135",
      "r179",
      "r239",
      "r241",
      "r321",
      "r322",
      "r323",
      "r358",
      "r359",
      "r389",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r479",
      "r480",
      "r481",
      "r524"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative",
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r106",
      "r107",
      "r108",
      "r135",
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockCompensationPlanMember": {
     "auth_ref": [
      "r128"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares.",
        "label": "Share-based Payment Arrangement [Member]"
       }
      }
     },
     "localname": "StockCompensationPlanMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "auth_ref": [
      "r28",
      "r29",
      "r241"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions.",
        "label": "Common stock issued for acquisitions, shares",
        "verboseLabel": "Stock Issued During Period, Shares, Acquisitions"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r53",
      "r222",
      "r239",
      "r240",
      "r241"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.",
        "label": "Conversion of preferred stock to common, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.",
        "label": "Number of shares issued for services"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r28",
      "r29",
      "r239",
      "r241"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Public offering, net of offering costs, shares",
        "terseLabel": "Number of common stock issued",
        "verboseLabel": "Number of shares exchanged"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BusinessCombinationsDetailsNarrative",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesOther": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of stock issued attributable to transactions classified as other.",
        "label": "Common stock issued for warrant exercises, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Stock-based compensation expense, shares"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r28",
      "r29",
      "r239",
      "r241",
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Common stock issued for option exercises, shares",
        "verboseLabel": "Number of shares issued for exercise of options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "auth_ref": [
      "r54",
      "r239",
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued pursuant to acquisitions during the period.",
        "label": "Common stock issued for acquisitions",
        "terseLabel": "Stock issued during period, value acquisitions",
        "verboseLabel": "Fair value of common stock issued as consideration for business acquisitions"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": {
     "auth_ref": [
      "r54",
      "r239",
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.",
        "label": "Conversion of preferred stock to common"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r28",
      "r29",
      "r239",
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Employee stock purchase plan"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r28",
      "r29",
      "r239",
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Public offering, net of offering costs of $1,457,922"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueOther": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of shares of stock issued attributable to transactions classified as other.",
        "label": "Common stock issued for warrant exercises"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensationGross": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Stock-based compensation expense"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensationGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r54",
      "r239",
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Common stock issued for option exercises",
        "verboseLabel": "Number of shares issued for exercise of options, value"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r29",
      "r34",
      "r35",
      "r100",
      "r173",
      "r178",
      "r404",
      "r423"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Ending balance, value",
        "periodStartLabel": "Beginning balance, value",
        "totalLabel": "Total stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets",
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r99",
      "r226",
      "r228",
      "r229",
      "r230",
      "r231",
      "r232",
      "r233",
      "r234",
      "r235",
      "r236",
      "r237",
      "r238",
      "r241",
      "r243"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StockholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [
      "r412",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r412",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.",
        "label": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r412",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r412",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEventsDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r424",
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Different names of stock transactions and the different attributes of each transaction.",
        "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]"
       }
      }
     },
     "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of sale of the entity's stock.",
        "label": "Sale of Stock [Axis]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsidiarySaleOfStockLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Subsidiary, Sale of Stock [Line Items]"
       }
      }
     },
     "localname": "SubsidiarySaleOfStockLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementOfChangesInStockholdersEquityParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental disclosure of cash flow information"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r45"
     ],
     "calculation": {
      "http://codiagnostics.com/role/BalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Income taxes payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/BalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r170",
      "r172",
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for accounts receivable.",
        "label": "Accounts Receivable"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TypeOfArrangementAxis": {
     "auth_ref": [
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.",
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]"
       }
      }
     },
     "localname": "TypeOfArrangementAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r329",
      "r338"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Unrecognized tax benefits at end of year",
        "periodStartLabel": "Unrecognized tax benefits at the beginning of the year"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r339"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Gross decreases- prior year tax positions"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued": {
     "auth_ref": [
      "r337"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of statutory penalties accrued for a tax position claimed or expected to be claimed by the entity, in its tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties Accrued",
        "periodEndLabel": "Interest and penalities in year- end balance"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r340"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Gross increases - current year tax positions"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r339"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Gross increases - prior year tax positions"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "auth_ref": [
      "r341"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.",
        "label": "Unrecognized tax benefits that would impact effective tax rate"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "auth_ref": [
      "r348"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.",
        "label": "Deferred tax valuation allowance"
       }
      }
     },
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/IncomeTaxesDetailsNarrative"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WarrantMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount.",
        "label": "Warrant [Member]"
       }
      }
     },
     "localname": "WarrantMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/EarningsPerShareDetailsNarrative",
      "http://codiagnostics.com/role/ScheduleOfRecognizedStock-basedCompensationExpenseDetails",
      "http://codiagnostics.com/role/Stock-basedCompensationDetailsNarrative",
      "http://codiagnostics.com/role/StockholdersEquityDetailsNarrative"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WarrantsAndRightsOutstandingMeasurementInput": {
     "auth_ref": [
      "r397"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of input used to measure outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur.",
        "label": "Warrants measurement input",
        "verboseLabel": "Warrants outstanding, measurement input"
       }
      }
     },
     "localname": "WarrantsAndRightsOutstandingMeasurementInput",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "decimalItemType"
    },
    "us-gaap_WarrantsAndRightsOutstandingTerm": {
     "auth_ref": [
      "r397"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period between issuance and expiration of outstanding warrant and right embodying unconditional obligation requiring redemption by transferring asset at specified or determinable date or upon event certain to occur, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Warrants measurement, term",
        "verboseLabel": "Warrants, expected life"
       }
      }
     },
     "localname": "WarrantsAndRightsOutstandingTerm",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfContingentConsiderationCommonStockAndWarrantsDetails",
      "http://codiagnostics.com/role/ScheduleOfFairValueOfWarrantsAssumptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_WarrantsNotSettleableInCashFairValueDisclosure": {
     "auth_ref": [
      "r392"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of warrants not settleable in cash classified as equity.",
        "label": "Fair value of contingent warrants"
       }
      }
     },
     "localname": "WarrantsNotSettleableInCashFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfAssetsAndLiabilitiesAssumedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "auth_ref": [
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.",
        "label": "Dilutive effect of stock options, warrants and RSUs"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r120",
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Shares used to compute diluted earnings per share",
        "verboseLabel": "Diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/ScheduleOfBasicAndDilutedEarningsPerShareDetails",
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r119",
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "verboseLabel": "Basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average shares outstanding:"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://codiagnostics.com/role/StatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 5
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "105",
   "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=124429488&loc=d3e326-107755"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6787-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(24))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(25))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(26))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(23))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "50",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6784392&loc=d3e188667-122775"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130561-203045"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130564-203045"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(a)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120384911&loc=d3e23163-113944"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=124434304&loc=d3e36027-109320"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "37",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6578-128477"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859721&loc=d3e6613-128477"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "b",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116859824&loc=d3e6819-128478"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=120321790&loc=d3e6927-128479"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "50",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911878&loc=d3e8732-128492"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "808",
   "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(3)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.12)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL7498348-110258"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "852",
   "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "730",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(7))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(9))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(3),(4))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.4)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62652-112803"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.1(d))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.17)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.2)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "440",
   "Subparagraph": "(a)",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.23)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(c)",
   "Topic": "976",
   "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "310",
   "Subparagraph": "(b)",
   "Topic": "978",
   "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r503": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12"
  },
  "r504": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r505": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r506": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r507": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r508": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "g"
  },
  "r509": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12, 13, 15d"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r511": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r512": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d"
  },
  "r513": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "14a",
   "Subsection": "12"
  },
  "r514": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r515": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r516": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r517": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r518": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r519": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r521": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r522": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "425"
  },
  "r523": {
   "Name": "Securities Act",
   "Number": "7A",
   "Publisher": "SEC",
   "Section": "B",
   "Subsection": "2"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=SL94080555-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(d))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>91
<FILENAME>0001493152-22-007662-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001493152-22-007662-xbrl.zip
M4$L#!!0    ( +F >%03?AW4F1   %BW   1    8V]D>"TR,#(Q,3(S,2YX
M<V3M75MSXC@6?MZMVO^@9:MV9Q\((7W/=&:*A$X/6TG()/2E]F5*L06HVLBT
M)!.87[^2;!GY)FQ"$O?B?N@BUKGHG$_7H]O[7Y<S#RP09=@G)ZWNP6$+(.+X
M+B:3D]:GVW;O]FPP:(%??_G;7X'X]_[O[38XQ\ASCT'?=]H#,O9_!E=PAH[!
M1T00A=RG/X//T OD%_\<>XB",W\V]Q!'(B'4= Q>'72/'-!NEY#[&1'7IY]N
M!K'<*>=S=MSIW-_?'Q!_ >]]^HT=./ZLG,!;#GG 8FF'R\/H7SGV2\R<F/G=
MZ\LY>[.\P5\GB+P-^I#<LR\0#S_>7;_[\]5_WQZA;]/%E]/NW9?9ZXO5R^G9
MFUG/O3WW5J?77W[_G?T6JGS/G"F:02# (.RD)>V+S+M_<>#32>?H\+#;^7IY
M<:OH6B'A\=+#Y%L>>??=NW<=E:I),Y3+.^IIT2\Z,OD.,A1+%JG80H\)XY X
M"7J7QPPF\:M.F)@@Q;FDKT-2K$E=E*)CR#F8^(N.2!#T1]WO+S5IP-H3".<Q
M^1BR.R4V2E#D[<-N^T57LS#*L^3B8SYIFZ_FB.4RA$DY;"ZG*;:$)T5R1R9+
MSD/)>11SG@W[7V,F61WAA/B,8T<5<Z6J>R05(0_-$.'G/IWUT1@&GK#I>P ]
M/,;(;0$.Z01Q66[9'#JHC$A= R AOJ@HHK9&7^2W^1R+FB ^_.6]+#+'U/?0
M2)@ Y ]112T*)$7GS!=M30M@]Z05_I2BA& ES$5C3+#2&%7(+FC+ZA=($\5/
MQ?*^DR8V1 0,N4/RB_H]IX@)/F7"A?@0,48D!4P.])S J\:SSDHN2_1!NVI[
MYYU"3]:YVRE"G(5.3'ZR._-(>% V?2CV)F&^AUWQQ061(!!*:GRLW' -J3!N
MB@0)]'(<GDRW>_]%>>^#GQ*"_[V_:,0.8\/Q<"Y'%T)E5/0+TNPHO+2AL)8(
M_#%8RVS\SX?CLRDD$\0&Y);[SK>I[[EB*/?A>X#Y*H6'G=:.SZM2^$AX(AT
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
MOG .,.Q__6-T[Y\%C/LS1-G(GR ^1?02S>[DBWDRTR<M*P7V/'F>_J3%J;Q
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
M;$;'?L!O]M!7!O0%V:P/CYN^?GA#;$4M.A(3+=&5S24#)D3WKM0#[<[J<M&
M*]3:E^I J"IU_!)K'\-4M7<AW)8RL3\4/\N_OAM$4?PHO%BLT/DA-;G;?7L]
MV![2]7@K1K9M&=:]6-U3PS D3_S6-Z/WN(;HRW:D',.= ,9^D8Y5+9ORRZ.R
MD+B9 REYVMX-LVU'Z3#>"W (_O 5"1#EMZXA)BF_;^T$/:*0=#RW8,[)]DZ:
MS< '&LI=R,LLVBC7D%.YH$]=IAX/AA@S<B5KTB&I=F,38[GKQ75%-+=IJ.Y4
M@_J!$6M7$J"-/:.'05^*K]0?>#3VAQ:Y*[G,%D8#J6%>"JYBPZLIFCF1*RG)
MQAC6C.!P5>];%)>[4I@&1<*L+6EIM^E5&8JR5L%RO%)=I3P)VL;RKK4=KWYO
MS/A;5U3W^\'4:6VF4]_W9_EN#G%X_2N.\")=7/"KHHMK]'7^]PYR(#YGZ@FN
M7L%V/!_47 ($ ]'T.B +.#8N0X3I)3D:T+@<4:U+/E+R__$-:^PG_P502P,$
M%     @ N8!X5-HD2,-%*   =*<" !4   !C;V1X+3(P,C$Q,C,Q7V1E9BYX
M;6SM75EOY#B2?E]@_X.V&AC,/KCM=)7KZNX=^*Q)P.4T;%?W[),A2TRGII2B
M6X?M[%\_I*[4%3R4DDAEY6 P4[89H8CX2 ;)" 9__<?KTC6>D1\XV/OMS>3G
M@S<&\BQL.][C;V^^W>X=WYY.IV^,(#0]VW2QAWY[X^$W__B___XO@_SGU__9
MVS,N'.3:GXTS;.U-O3G^Q;@RE^BS\05YR#=#[/]B_&ZZ$?T-OG!<Y!NG>/GD
MHA"1/R0?_FP<_3PYM(R]/0&^OR//QOZWFVG.=Q&&3\'G_?V7EY>?/?QLOF#_
M>_"SA9=B#&]#,XR"G-O!ZT'ZGX3\5]?QOG^F__-@!L@@]O*"SZ^!\]L;^MWT
MLR]O?\;^X_[AP<%D_U]?+V^M!5J:>XY'[6:A-QD5Y=)$-_GTZ=-^_->L::WE
MZX/O9M]XNY^)DW,F?[7#G*#8^&@_^6.QJ<-@71 Z<#X'L2:7V#+#N(=P)3+
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
M*Q3RW&1C<VV<(S2^ZK>WFG4 _:+BK44:FR9"6\AYICZ#6Q4>H+C_."JHF&I
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
M7,SB]3+$H+[Z;<>[@$?G+7AG$/:S_08"I+,G:C@XTDP;E=HHNC3,[NR8(>Q
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
M675+5Y+MF>O8<% D2N(QBRR3+#W.I[\ ^"B0>+-80):\&SLS;55F,A/X)9
M$HE_^9\OJPP]X;)*B_Q?OWK_[?=?(9S'19+F#__ZU8^W[Q:W)Q<77Z&JCO(D
MRHH<_^M7>?'5__P?__?_A<C_^Y?_Y]T[=)[B+/D!G1;QNXM\6?P-?8E6^ ?T
M">>XC.JB_!OZ*<HV]"_%>9KA$IT4JW6&:TQ^:#[\ _KSM^\_Q.C=.PNY/^$\
M*<H?;RYZN8]UO:Y^^.Z[Y^?G;_/B*7HNRM^J;^-B92?PMH[J3=5+^_[E^_;_
M->S_DJ7Y;S_0_W4?51B1]LJK'UZJ]%^_HM]M/_O\\=NB?/CNP_??O__N/SY?
MWL:/>!6]2W/:;C'^JN.B4F1\[__ZU[]^QW[M2 7*E_LRZ[[Q\;M.G5XR^375
MT'.:5.D/%5/OLHBCFG6[\3-(24'_ZUU']H[^Z=W[#^\^OO_VI4J^ZAJ?M6!9
M9/@&+Q$S\X?Z=4V@5*44"5^U?WLL\5*N3%:6WU'^[W+\$-4XH1_Z*_W0^_].
M/_1/[9\OHWN<?84H)<&'TJZ_#F2U3-_Y5O8:EVF1G.73M!YS!U*?^$Y9[V
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
M3VFR44:>"CI?<856S2Z\D!(%1X5),^%% DI+YZ M]9Y?K'A,R^0Z*NL4:P8
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
M^HF]^P%$#X^U$2M;M;\'Z-&?R[0F7Z?/.6[R]F1(EH.HH//5TUHUNUZ7$H%
M@$XSX6FVAA8-B0- X[;(TCBMT_SA,UF<EFDDLTQ&Y L4:@4[1(@4(."@5$NH
M'M03HHXR !"N2TS!B$EGL N'.$]P>;5<2F=_';$O8)@5[@"BI@0!%*-ZXOM]
M^%W,<:"&!3&>\-"YJ*H-+IT )&$)!".E\@HP"?00(:52T@BLAC$TOMJ7;5_?
M?[B_2^M,MO 42;S-3PKE^MEI]#L(?"B4&N.!_8:*)7K_X>O[;[H7AD/L3WXI
M[LHH(5/D[>OJOL@4E;"D5+Z H%&QPX*$! 0<U'J-$?&E0"TI:FA#5<H:*"PQ
M:?2[+Q!(U>JZ?_ CB(Z7:20, H/^#CC\G[W$C[3,N.*R@YS,]S0@4W(\%? T
M(&"@44Q8K+2DJ*,-==EA.X4]F(."AV!!P8,A*'B &!0\V 8%#T&#@N[339D2
M,D9=W6?I0Z0HFJBE]@T,C<ICC$A(0<%%K9]R[.A9T)8G1+5-5G;M(E\6Y8KI
M<$[^(;%40>>MWJ9.S;[@IHP(!$YTF@DE-YM">!PQHM0AL+%)TAHGC4+G:1[E
M<1IE?>E&V>ZYF<4;8BR5[\%CH(>!(SLE!4@U;%V-Q9YQ6X8SQ+9[D\3Q,\ZR
M_Y47S_DMCJHBQTFSWR([7=+3^\VZ,:@]3+Q1$(. E(V&BO0;RO3N-\J%.K9V
MMRP8FGXJLDU>1R6[PU[*1B@%G5_T*-0<HF9$! @M<LT4*.F)44,=[E)X4[VB
M#[SHX"<M0Z,G]WQ%7*OTZ*:XE!80;K0*JNZ-MS5'MO%RPQ7P.F>-Z5L7Z1,^
MC>JHU4]ILXK<]P5.G=+CFYLR6D PTBJHO*O9\]!R-5&'JZ!E:\H3$GX]%)KL
M\Q&5_^(U@HIB_9J>!!!$9'IIJMB4J*,-AH?;591EQYLJS7&EGI1&5'[Q(%5Q
MB(<!"2 \R/12X(&1HHXV&![.5KA\(-/=I[)XKA_;&K)*^Q34?O&A57F($RDI
M(+SH]%/@IF-!#4]7]C<<@%ZV!=";"I!J:R6DGJ&C5':$&X$.$FA4R@F(R7!,
M]V.^%#6Z*]"/%4;U(T8L/38A?^<JUS=R0KZ2$L?TPD43K>=)5,I@I"/V_F**
M4F'AW12!$@28C.JIWU#I.5#'$@ Y[/5K?HW'%+FH\4IYD\+,X@M%MLIW6#+1
M@T"4I9)C7#7/F \6WHP14<[0597X@OSJL&] Y#E:EB@X"I8Y"A X4:JE"I7Y
M]PW"U?/;W&=I?)X5D7H79D#CN8J?J-ZH@-^6 ! *1*U49?L8(6*4P3!P'.6_
ME9MU';]>ET6,,<W6JOJ1R[1'9\GM%S=.)@T19<4*"&LN^BI0N!6!.!E'W.P5
M>L./)J/3"G-%_-OM8T0:\6I35W1&)<JI=\RU3)Z/(BP,&!U(:#@ P<]"3=7A
M!.-$C/4(-<R(XPZX;JNVU0EQ<OQZ@Y>XI'<:[O!+?4P^]IMFY6'!ZWM59VW.
M>)%G9 0!1%=M54O "O$"T#W-,VM%H%^H$,2DA'BG_2)>EBP1I2@7=8V)B[!$
M*/DM!AVQ+^B9%>ZPIJ8$ 2ZC>F,T79R<WZ"6 W$LP9X$;U0Y3\O5A6S[:?2[
MUQ2SL5J#?++N1Q PD&DDS10CG4Z)T,5IN+Y67' 8_.JYGV77&;B?(/6QYO)"
MU\.!KBRTGZ=%/A0YZ@*%YVX>JS;JZNYG2-T]TDG5Y1W9K-V^C*I[INVF>O<0
M16O6]]_AK*ZZOS (O/O^_;N/[QD,VC__VB>?7BW[C-3KHCGW6-S39T3B\9+=
MC=4'<*880Q'EPA<<:A.4%>X]=*STULPV ;GC1K]T_/.&IM/1N:@J7%<&'(Z)
M?").KB"/K2$%&!1)U1+&+$8$"@OM!I(5) 1:_\A0J"L"9$0(#"=R[50OTT60
M8',258^+/*'_Y^SW3?H4972%OJA/HK)\3?.'GZ)L,PYR'7E]PLK)'!YF5HQ@
M8.>BK0!#PH2B/$$Q_0?>L@-!Y.>H_ W7T7V&VWN(*:[DAR-6'#[19Z$ZCSD-
M.1BDF74<XVO+@=+\"5<UBZBJGAL(S-H\E.H&QYAX %'W"Z[U.-.S>)T]+90?
M3*(:>C!0LU!2B,!:%E3V/$<HQ_,>H$W'V 7!?TZ$OQ)#%$8/27QB2*8<CQG^
M=S 8D2@E; QW)$! <%WB=90F9R]KG%=8/\(H:'W"0JLNCP\I(1B@Z+23E%.C
MM @WQ%!FJ"]%C2L2Y5T64>XR35GP^024M1D\N(Q,8(!FJZE8H:O&W+0%!'.#
M]:S-FC?@KH%QM\ K1NJBCK)+VZT"5<T>*@3%$#<*KLMBC<OZ]9HH7!.\TW7G
MFH;VZMA&S^)W4C,K/YS;U/1@1AX+)<69KF%AZW_<T4,*F3\51?*<9BJ;MS_[
MA,]8*1XJW6]@8#%2: R![F<@_7V1UT2[E,R S?A(L'OV$F<;FIEFP((=J]\E
ME;TQPZ66F0\,OAR4%9=F'6L[MT$:>6YPE)W1)")\T6];5?]>I'G]$_G7AC2C
MHD%L&'VBT-X0'H-F+C (M%95MC70[D>F.?H[Y4!/#0L0$)[23,@2)S1#<H7O
MHI?>QQ1MH6/P"3JSXCS8U-1@0&9444AO;1E0';TTPQL03$GW5;^0+G7?[.:Y
M@N]WBR88M[RW+%YQ]H3+^Z+"VM6AE;J'M(F@70:'V#90[Q= W"C0[A" VAFX
M3*/[-&-G>V05RNZ9/!99@LN*KDCK5T,RBCV[3\BX&L6#RI87S%SGJ+#P&MZ6
MG6TL5)R __I/?_GP_I__QC8;9BX^/0MB[1*F= R!4&F1.J6FAH@\MR2J;,L(
M!%3=#'X=O=*YV"Z58$P<(JB2*RR+I8:48$"D54^9,K!NJ.&@I]S@1/0'M<TJ
M>L\8TJL]@I&<&!*2M!I*P$3I^Y/CH^[L!@BJ3C?XKKC!&;UH>1V59ECI&+QN
M)Q@5'VPG**G!(,NHH@E:Z.NRX28#5UF_?@,-:FS5LHA)F-?<EC@I6)$GHB#Y
M5Y626)#=Z^E<Z]4PO$V5YGU9.=UD81WJ+@H,O'?37PCR>FX4\^Q\U <-_W?1
M"[:+_:24/G&K497'I(0,#-[4NHE[_G3_EF[*8F@Q'X4Y7>K\G-:/)QNR:E[A
MTG)\M&/U>O/"P9C!Q0L+/C"P<U!6>3Q0XB><;Z!@T'K!$7JE8;?$"+RV,.[M
M6J\LAIE@\'8[.$.VIQ3VNV@RGD!H4JNO );( &9\LM%2V+TM\H=W-2Y7<Z(L
M+I(7!IWW'UK@G%R=_L=@VE:>0&HI?8#$0E4*#0T9E--%LXH'%"X))_(\VNT3
M),9<0;,DY"9H4R6&+&"&'CL]M4D3W?@#Y9C(=5%KSJG802#DC0U#)L9D:6#
MO;,)4W8X@'B!9.?2"'0#3^"=9#U<M0Q@$&FCI?N6<MZ+  (^:4#K$OP"6%98
M+R? +E6-R&I6J]D^5A+S \EL;S#0&* "%B!Z6( # RV)G#9IX[2*2C<7QVIP
M:#G\;K,:51_NKBK)P4QE9AW%Z*GG:"K9\#SH:Y85^_Y/WP!!FW-&))0<2+>L
MQP/(<W3.;+R%GLEX7;8+:*:IKEB7E-)S80F5JJ.R$F,R,/A1ZR99WSUA$I73
MJV[KCJM)C#U"_^7[;[___CT-NM$3E?$W].>C[[__GOX/JIKZ_-&F?BS*]!\X
M^1OJ_YC2=\L3-N(5V_K]**IHO<I3'&/ZV!'Z^/X(4;0PNO%?OP>"6^XY VV%
M.8',]UPK4W(\P?(T8+"J4$PVE1:Y&IGO&URJL/GQX]%?WO_UZ"___0.#VX>_
M'/WYSW\Y^O[CQSDQ>X2(I#5F#R-G4$;>19*PK: HNX[2Y"(_B=8IB795&T@J
M:J_;>GJ5!WMV<E(PZ-;K)VQ\]-2(%OIYE^8H;AB @.D&UU&:X^0L*G/Z)M B
MCC>K#=N;.<7+-$Y5H:(-H]^[Q[:&#.\>F[C  ,]:5<GF6T>(<,L,!'UB6&P=
M/X=>D-@M1&#MFRCUDV^?'-)M*NGM,?/VD8(-TGT_P\Z<E <6["RU->[A'<85
MO^%2[3HJKTI6WC]AP? U+ME#:%;K/#5SN.6SR2#UBEK%"6:&=5+7:=W=+VM
M8K1YF6_1+ZZLFD=D"H=)E0%J+(XY@&)0H:8#]M"1N'@&#,(+MFAW:)N.(33X
MAHJ;@-=0@P;=0$6GP6ZP_P(8:^H79JVY0J-.\<:L)0MH_)E?F;4!8;&GUV9G
MV7]VC VM. /M4KM$A19L8)!IKZM^>QM: "@\ZFR,_K0<@5!G$_=IR"&BS#KB
MX]$%-<(3[-*&=TKJH.A2!W8*4KBH,H1T$D2!BN%T#]';-D&PZ,U&>2VX(,9M
M%DI:P0Q>E-;<)>F?Y32D32FI_9: UJH\K/HL)06#*[U^BHMCVS=4P;V6>M-<
MO#XG_26[Q]T7L::7/<C_3^ZB%^4AX 1)?H]A)YLZ/)=U%@,&O=-U'R/[!M2%
M_9.BJJ^6K4[*&6% XW>&E:@WG%(Y C!HD6DE3IH5>QD:5@&'3V515==EL53F
MB PHO#Z;(:HV>#EC^S.LDU)1,>$1#4J!UHP$" ZNUNP*8?[0/GEF>A9<0^\3
M(T:U><0HB<&,(R8-QT#JZ:$]/G>+LXS.CGG2O.>Z-4F5U:)A\)HC9%1\D"ND
MI 8#*:.*PJ6%*&NS-%8= Q!0?<(Y@7M&3%DDJS1/J6O0I%X]LHQ<7N<T.Q,&
M\YR>!0S0[/04IL*&B^$M&O ! =T-KC!I4?I>^BF)W+*"O7FFAYR!Q^]2SD+]
MX:)-PP &;#9:B@NQAH=A+=ER 0':*5Z7.$Y9'0?R[PS3?U!O6A5EG?Z#_5W1
M&G:L?BO5V!LS+%=CY@,#0@=EQ<(U6]9F[.-X@ !2"$9M@]; 2P"KT!_6DE&E
MGCR;MH :]?=F-+NYEV25:S*8IPR"&E%5*6ZV9$"1(RBHV&&GS= AJ,BA(.=+
MD1=#2UI/,&Q#6/#Y?:S<THSA8^4&)C 3GJVFPC9%_8A+E#8 _+H=M*#45[C(
M:TP:JFX,8JHJ3[0DE)X?B%6I.GH/=DP&!D)JW22OO3+*%C= T/(I2G,ZR%[E
MIVFU+IIZ;E?+YM&U]ZJEL8')ZPZ$E0&##0@M!QAD6:DI5J^M*D1"\&3+0L]H
M0#V0U]RO^HSKQR+9/D%+7[&E66)CLY5WR-W%^(3E5"-YH+K*  /=B8H+>VF$
M$'V=$=)O**:;"W5HQ<22413ZX\7*Z,(U&@$2\SG%>K!6%28U%>M2V&%>MS[J
M<CK2?$/,N^J70L=X692X+T",J[,7$M0699+F4?EZ4>,5JV1(LT$*=J;212C:
M!*@]?=%_4MI>FTY,;-O+YV!YV?X-5>P!W#.QG:>R8NV@O)28VHXWQSC'ZM04
M);5_[U"J+");( 43A^CU4]?ZIZDL3VD%9^OZ"ZZ-6Y C&J\A@TR]09C $\ :
MM&2J">_*8V"K]J[<3G?=ZSBJTMBPM6C@\;HXLE%_L!+2,8 9;FRT'$.KXT%D
MCD1Q>P^!,O\ &6HN#0  6M:0@@TE!838;T#1<IIFFUIYN4Y)'1(Q(Y5UF&E)
MP:)FJ)]P9M_\"@0Y/^/TX9&HLW@BBX4'_&5#:UY>+84K7*W6IVD59T6U(:L)
MNFHPS'US"?>)RWD;A(?Q/)+!H'Y6<\9.T@E'42-=<CL0RDQMVPZZ&=Q1!D1_
M4,[X3@*@/%FWB_*0 P6%/:V/VEZE=I8" + F$RT@JQ)Q(* UJ \[3NEO]-[1
MMR 5AH^)_%:%E2DXK C+4X"9QZ5JB4]0]!>J&1F4V]2]7I=IW@06)BLYPB#P
M$!250J2G@@>3L6H:J%!2Q&BU>-EKLT^LU?S!:\.O<9D6"6FYLM8-[!H]A: #
M/Z0Y796B^XC\$.,C4#6G;".-P+&$5;00-AZPA8[EK"_!3;/T@@(<Z@)-\:+3
M34GTO&;VLRIL7_ S^T4]!UCQ>J\E;VN.,&29& %-'O;:CA%YO;G/TA@5RR6F
MG$<HQZP 0O<'%!=5S1YR^2_OC_[TYW\^^NN'#[#!VOCB1+0*S #@JC#( J\C
M3NB E:L[#;$'-+#JLMDM^  @5#3#=C"%E?=NJZFNU%KW&M:R*-%S5)81"=7Q
M"R[C%,X5,*W_38#C@!$ 'B6&6(^6!X%(4=7)D#R@@9+]=K5F27=GK?ZJ4]@)
M<@  UVRF[< J%0(=UD;-;5%>,/;#&G=G0+=6$ !X6QAJ/4X?),#-JD]%^"$-
MXVWN#TZ(<32%E:51LW)K4X8+G30 F+<UV7I@5XN"CGY+_:4/=+^[IRPTF;#G
MZ0HKP(9\Z_)S8=Y"' #06QMM/]P?+NQM#7#%_0$-^<T#,A6[Z\L])G.+8T))
M'QR<,)!8R 3@"6[FVTX"1H'0?<+)"OES1%5[#7S\#%M=M"GGL/VB&15F=@QK
MH0 \P[$!K&>*@_<--S,F.L<!31Z+^/=-VI1]F#)/#-D! %]IE.WHS_-"![-*
M8=MU;L2QPL9J^Y[49+#*^ &@56V6]8A\2'A5:CP%L#:#[!Y[U/$&J]^D+%W?
MR/6:=H$58OK;QP Y3&=YXIC\]E'1[F<LP\DA\PU>"EF(_$-3!RB5-+4_K$!N
M<U^E21J5KU>E6#$)8UJX_FK)T';\*A)W9-H\]%D_X76*W4/C#( ^HWPPD\$>
MC!)VVGHN1&;PA@\U7T$=_Q&B'Z)K*O8I=/^*I&P=/;14_EY7KKTN36G]!J8P
MOJ,S0.X-,@Z ^-:HJ4;L&)>VUP)\/@D?O=(;"U5K&PVZZ<Q%W]I2(4_/XO4Q
M> OE!R_!:^C!8,Y"24/:99-E"01@_:68J^5)5#V>9\6SZ?*\GB7(W26-\M);
M3!)Z, "S4%)]LXF,990),2YX;XR2=2=5[YJ6TTIP<OSZ8X5)--(7>5_$=?K$
MMFA-==$G"/)< 6NBH:--!D<I8% \675ALXC"><G@S)?V)\-HU(L @NY%\O=-
M4X*VNBMN,(5)FN'!CLQ=,0_^]_,IGQZRS\;B?6@?WP'C97LT;NR'W*?H45C9
M?8S=(>DJ;18HINZZH7D7:2[U52C54>1));H=)@FQ]RN?2H6%33N!$EHQ"*V6
M!YK(MBUEWBQ(M\7.5:LU+4>8=Q.4JLL?31#(_0#MKPW0<OQ 8E_M]K!95>FK
M"5\_$+YOFJ!#56H^T-;][&]<>-K4G])G6GT/\;F+TS:MQ*T4M)'+[^N'5B8,
M'S[4LH")J.ST%)\[;%.% )8<O^YJ5Y\7Y6FQN:^7FVP1Q\5&/2GI6;QN(5HH
M/]A"U-"#P9B%DF*I-OJDZWT-+-XA7E)B$I2=XN;_<@N+DVB=UE%F6,>Z"/!<
M]-[1L%$=?$MN,)AT5EG8IWDD_X4KNNQKIEOV[&N61O=I!FKA)UK:^1Y90./T
M27-\;L<:%J=J8_0(%?F@Q80..@N;%RTAW;9H*<&B\;K$ZRA-]&]#F=G"HE!N
MA!Z!0Q[XZ)/J*YS]-4307C(6K:&KXIQ\3GUQPL 3%G 2]?5HXQC@0TU45GRL
MIJ%X!0LP^OX3C1]^3NO'DTU5DW52>=F&!Z_6+6&0$A:$5B;J8:D5 6T+=YKZ
MRL5SB0F&P52"E(8;Y8;;&L#5=?3J&BZJ) 2/&O6F&8-'.3M\Q)I45[\*1A8[
MZX84,F)9W-N:M,B3UMS+[;K,.=K6"PN.8VN#[=9#.DF 5^\.ZBL72RVZV4(^
M:KBAQ;'V:28[YZE 32#:+7$(W.-[;GK++C:Q%(1U*X(FFP-.&5(8W!Q1SI 0
MIQ4$ ,\6AEK@6B,%S! ]67530ES:28"'[BY7^JY@MT)+3*PGOEB_7A.+:C(G
MT8L?:TJB.BEQ$! BL]W>,%F>NYD;VLZ$L^9B*GP9/Y( I6HJ+#3,+,# '2=4
M['Z.RM]P'=F4&+'D#8I8G3E:L,H8P>-4H[06HJN>C\OZ054O PI8RR+&.&'O
MK-,D)^*)GZ.:ZOAZM70!KKL<S]D T\P<I0BX"0$30DS57#R3:.0T\<.J$9'Z
M 7Q<)"\,Q>\_M!@^N3K]#]%A+_(:D_:K+_)_+]*\_HG\N"D%W#KR^L#J)',H
M/IT8H0RX4Y26'5VT.$MS]'?*@9X:%BC#Z]C XTV5YKBJZ),+[3VM]A=5V6$W
M$4$C POCM &"AA\*;'?07<C,:CEH6OI]FD=M]9KV90VV%Q&U$H"@V7XENO-2
M%NH>PVY["P>Q9Z;6VVK/[.OV#L\WD/<7%*:?$S?,XQEVS[2" "#;PE +A&ND
M@ E])ZMNVCU;=A+@H9L/][LR [2@)2V>QNY#62P3%'RA%FU:,U2+-"D3&&3:
M:JI?A%5M(9*8*XVWKZ46IW#WA,+5LGU3@2PI?VZ>N9$OM:QY_2VU',W9+K4L
M&8,C;8JV>K1U3U^PM]\:$6P/MGWA*%31Q5GKQ8"[TF:EK=!O#9/X2!^0.<I^
M7MYY8H<:<>T6:1W$6D*MM]5: G",1:VE_T//K9[(',PN$Y  ,HV)-[/5?YX,
M_\!1-F5OQ=R;.-O0,I-G+S&[$W-#1H8SXKS*U8=O)7SZ49@&YGW1KP:P_#F(
M[8IBPXR;[O V>V(DW&#_P-L/OH4QH6^>YMYZE'TJB\V:<)#_)NY2I_D&)VT^
MD[K.N5\5#F8\F-BXLXT&CM\/4"GYMH[*>F\CPC3[I5LP,O]'48WN\4.:YS16
MH DBS*9 JY$_%%(!5O4.8K\35C'YNQ5*O18K7J\S5@LRRKKRD1?YLBA7S%)3
M:4];;K_EBYU,&M8QMF(-OL4S35^QLO&6FY; B;.BVI2X/X>DV]XD .O% 8%L
MERUP':4)B14532-0^;UH(E5Q>(-D0 (&4G*]Q!R,A@K1R\I@<,%=R=)#0R3T
M? U)H>CHBM&("A!&%*H9+K^!@<H7TDEDA-N>>>=)OV?%ZKF;SG_M^;UN0KJ:
M-=B#M&4& T-7C1WFO[S(W[$YD,MF(-';=F>2R,TKNCTYPV-IBH.WUKRK\IJL
MT3A;V;7]S\433NX*VPL2<PCT=D0WB^']N=U.TH)C?383E 4@T(H*H+5XN_L5
M1VA-A=A?L]AG,._C84>_JUF;6K>NFH][]SQ*R^:UL'&60/> 7D0S$/,J3=HU
M+7M1[[Y+3ISS+4C%\$959 :Q1U?I$$M0QN5!<(?434LLZ$.M6X7/B[++I=2\
M!+G?3WD;$O?<6/U@N:?OP!A&]VN<R06[#PZ]D4^C\.^:<SUDT%0 H.-4D:6Q
MQ7,$&@:OCPH8%1\\#:"D#HYO:Q45Q1MH2-MQP'L&IO.Z4US%9<H2D(BO'D=5
M6ETMKTD;TA">_O4.O]3'F3K5<8H@GWB<;BB/4W<I8/ [6?4QKJ](E/64XF<V
MP#)^.@KS$H!@^S9]R--E&M.H77!>$YYMF;UNOSL9-(C7K3C!8-5)77'O8;5B
MKUDN$2<'289C(#CM//-D>VV)%@FBI7NY8,@P[[L*"3'VNADH&W?M)(#!\22U
ME=?:."EL[&5R$"<(;GC!J7[:[P;:AA0FYL!0UAAD@+"$$S)TU>K:0!;*:-LO
M5;?FF-94>A:?\+-1G@>=CAX,U"R4E.X ,![$,<$;_V2FF88] T]HN&D'.2T#
M:,"9AC0.<9]Q1%E6@!)EE4<4AI'-@L_S!44[,T87%/5,8'!GJZGDREA[>G3=
MGQ[UO/ &/:69]J&?FP@0$+4, UWXX0/7/B2\YBO,G=D<??I\++(HDN<TRXAI
M%WE-U$YIH5[V=L[60L-0ZBC#ZX.24\P;O%GH(@ ,:J=H/89M)X/!=BNE67M7
M7/ );QBV,M\T$+L* 0=K[6#L)N&P@&T:D/7(!H+AMF9ZU15-CS+36EW+X;F8
METGUT0UZ%3D8W)EUE%R:9QS-?F7+ V^HM"G1;S]F3I86X'Q^JLF2PWM746!@
MO9O^DF-_]CS#&:SG&6Z:%WUHT1+9RT"&4=6:VR>$'4WB(6O)"@:B;OJ.(=ER
M-Q5G.G[T3 2@3@*\,=E@LFD0MF<'!%GM,&O+"RWCUE%O!7B!H)+N7-2OAM%R
M3.0387(%>1P-*< ,<5*UQF!HB. -5BS)];'($EQ6C8Y?BAK;AXP._%X3CES-
M$NX(V#"#@:"KQD+F$<?_7__I+Q_>__/?4",'"$S/HI(6=*#U9&X?(^.6IIK<
MZXAF4'HPMBEHP4#,H* PWK7DB- CQ@!O[!N;9!KK-/0A8:4=RY3$8(%E&JMZ
M9*T[9 &!TW:X9;5;Z2*:Y0_=X(S6=61%&IF^]U&%DZZ4HV$DVU6H3V#.TP \
M>G>3" ;BLY@AS-F4X1WC0%V)SP6]-/2 89ZN\ZW E#^FNO/MP:E?';]N:5KS
M%L]1F9@&Z=F_$LJ#9FPBE4O-\ F0/C:?7=) ^1UC0[QL("[6%^&P/OS7<@0I
M@&)WL*\A!P-)LXZ*VBB$!?0!O<0PT["L9PD,-.V J:.'##734+;%&J"C'A8/
MT8H6KW=<,17C&8^)S>].N9T1PQUR/0\8G%DJ*FZ%,S;$^!#/"&]P4YEH/]8Y
M28  3<N1T($=/&#MQTDU=H$ EE:K2.MFR9@G?16+>'#X;QA"'65XK?8\Q;Q!
M$5P7 6" .T5KH?+L5@;+8QI( 1UA6EEO&H==A8!#M78T=I-P6+@VC<E:8 .!
M\.WFOL*_;XB.9T\6&[UJ<K]UDO5*#PLCRVG!0,V@H%A^H2-'#3V\87%LD?%T
M7DT?$E7ZTW<5,5A<F>MZC( %!$W795J4317!&QQG456QDB-LKS3Y^Z9Y3YNK
MNJ-H#G<Q?J^]33-R>/7-3088I$Y47%P"#7FA +A]P6'\YA MDO-J# [M>'V_
M:V-MSOB9#R,C&%"Z:*M\2X/]@V,'@LC/4?D;KFDR_BV.-R7+P&\L4S2&CL$G
M]LR*\X!34X-!F5'%,;2V#*BI'LY.T;?,0!!V5T8)O>EQ53_BLKL 0@9H3#R!
MZ*X%FR6O3]PYF<-#T(H1#!I=M%64XZS0EAX(%IL4T<^X?J1O_'4^HQ_P##S^
M,\X-ZHL)Z H&,%BST5*>GOZN8>+&/RBC7E^9WBZX4Y/[/6G6*ST\99;30KL3
M8]!3^:( $!PIZX'8X<J>'41E%PO<V?)"PZ&CW@=5U$52P5 _I^H8 M>8U,RF
M:FIH8#-J>DAE)-MKB228+!YR5GW5;NRSX MP(=5LAN0FJIH)3!!GJZGJQC3'
M" MWJMNT3B"T%@+HBK0]/"TE0,.JF]ICX)[B)2Y+G"!8UZ9O<(5)L](-RU.B
M6%:P0*$MD:&=E*TX_>+3VI0A*(UL@)!HJZLX;C:<+"#D>(' 4'ZCX:I[#.."
M='Y>IT^8AL/Z6'&2)*^'Q=--'1PCNXL! ^/INLOOJ]R#OZ]BNZVC(@]R@<!J
M6T=."VV%8]#S .X.C*\1VR'*R!7R8K<%O@PL8$8T.SW',/N":]1"#=IE[Y."
M#<+-8WPW:?7;"8E=TYK^2W7LK>/PFWIJ5'V89ZHD!P,OLXYB!BG'42%*R4(_
M_N&E;@$#98C[@I^Y1Z7*(B?_C#%WN&,WYKF+\?I>^40C!\^6.\H @^.)BDOR
MM0A+]HJ:)TOY%\1N:X+RJ$R@8/HV?L3))L-7RV/),ZK'K]Q_&9-=)XGRNK39
MP=C!VF:"'# 8WT%Y8773BJ(OYK5US>D8SE4_11'Q@!5.@*"]?[^ET;9]CR6Y
MRF]HFA%]U)L]2VG]T(ZUF"!O[S@:*7V.QU(&&'1/5%R';.X!'SG(88)[D?-E
MB"4-00B^%'DY;!>:W>0(_UD^%-!!9FPHC0O-\!6H3C:?:3HW/'FDU6,JE.9(
M_J36&W)#RM\^J1P_YNGO&^S/,RV^?6C.:MV<<_NO\<-ORJ5MK=5Z>7>3M*;_
MK-($-UL$=/=\1?X/VU!G$_#/$:TG!29#4ID0-3FG#5HVV[0\-GA0MU95AU/0
M"6S;)=YYFJ<UODR?L/#@C]6$,DE2F"6]LZGR%;VU&#!XGJZ[#N!0'W;J="QT
MUIYO:EJ=8U64=?H/-G^T.0A.H)_G$R&\8<[&D;G)'/+!^<^,1FFW$Y@DQ(OJ
MGOP!YF)72_$Y(\=9PRP@S&1A:YA\CC!Q@X.VM<K:'5Z8[U-M;>3R(,]>:ESF
M4=8?(2[JNDSO-S5.[HKSHL3I0WY"SV1*TA+'KY]P\5!&Z\<T7I0XLH?W'KX8
MQA_VUG1R!YK]<P ];E\VBM5-5JNH?*4>VB6?W[^BK0Q$A0#Q5>D39'1^Y?8;
M7JVFF$F2/&=Y3#5UE/WA*@:,+TS773<- 4U4WSK^.->*[HW%-",ZS9C'NT50
MCM+"3!^33)9/#4ZBP$!]-_UU<&?\359\(P&)3_N <P%Y C7;NVVRJ*M%7*=/
MMH/]'(+#.,:N#2'WD:E2 ;K+CJ;H/*?A1QT_8"?A7\#@3>\/5!8TBZ;YVV2'
MV>4CH9UG]P8R.=+T+X!VJIW-LDR,Z=VM0C^3U<PCG:<63[B,'MCV<?<)P#XX
M?!>J(DNQF!C!VNS'/*TKUH2SSEK.7PGMA3,TD<M\YO@)T'ZXNUW:F6Y35S2O
MF"88;Z6W9^5,/@L@NTKZ<&=$Z3.JW4'_57E#1Q9ST=WI\@)YV#2S%;[D)@RB
MUTRR0.<?+>]LP(^+Y(6A^?V'%LLG5Z?_P1_$=MDT5:>V;02WBR ?Z-W=4 K;
MZ5*"XW5GU>TCJD[B 490LP9*AQ /S1?V''AT,SF(:2OF_*,+7"2WYL&>DU,E
MBYQ>$[M:]E>Y6V6/<8Z7:>WH"1,DAG&'R:;+?<)9'$#'F&J#/B^VDXFX1RJO
MR^(IK>#4D^"VP9=+3$<"W#? #5E[4!_/XS1+FS1AQY.0"2(#'8=,-EYQ)N(L
M#Z!73#9">SK2N!.B/8'XJAA-7F[W2>8L]'/PXJ?N.)-H*$N]=_011VEAW&.2
MR7+/<!(%T"FFZ&]U.$X!#S)O]VKY([TVTH9Z1,W6A:N;(LO.BY*] NX&>G>!
M87 _U7 Y]%VE 43_1!-T#L"+9$[0"07B!I>8."6^6K-K3?G#)2:+G#X7YG-4
MT\<N[%;-DR3Y!/X.IO*(GR &#-2GZVZ10?XYS=/59H685-2>]$'!^=;)R1HE
MV<3U1;XLRM4VRC,.#DJ^,(.WP0SY&*U@ H-/6TT--^$H)^)8T2^,&<JKC:)M
MEVF.+VJ\JA3MHN7P?!G3I/KH%J:*' SFS#I*'@L0$4:9$.." C/Q6:%/95%5
M)QL2D.>J9V=-3#[!9F< CS<]!QC(6:FI?/:IA/;LTR++BN>(="<)DD^+S7V]
MW&2BB0;<N<GP"L,IY@U0Z2( #D@G:"T4<6_Y4-0R D%L_PP1O6%9D=CA4U$D
MJLE711SDZ2BIPM*'HP:48%"E54_Y6A1:MM3H@9)#0]%-]$P63[A,H\P(HB%M
M$ S)U)5"B">$AR")=FH E=$S6G740/"C+/SQ8X7)H'F9+E6K4BM.$$5:1%.L
MJK1LV<#@SEY7X3'%JDY7+--QPTA11FCI4G7=BM3A<8^=IGT=0]9=6H9?/T K
M8F^GKO;ECV3+A^*B A/ " 6NKW%)_Q ]X/>*UM"S!"TX+E%>6W&<HP<S/%@H
MJ:TYCDI:<GS=,P4:$UBJ4U,F^G1#*ZD1,](B:4JQ<75YI?N,EKR_?O3::V32
MUX\3SGI+7U5!:5-<.V$B:$\2&4?HB65/1IR8/67[=AON=P5+A/NW)F%9V7%\
M^J@UJ[>,7D=C^AQ>2[[@H\8$985=R.B5/4Y?%ZBB[&V&.IP)JJV;."B;>))%
M594N4YPLVESZ/F'Y-*WBK*!U'=4C[ XB?==:V-7X<=&%J?*"0WU&(\8NP-+3
MG[KT]'A;JI,Y!!17Z-+FOQ3U+:[K#%.WO<A/HNK1'ORN0GS"?9J!/,#=)("!
M]"2UK4'\#*N@[+'XZ/' D>^(LE63[:5:@KB)"/Q2M=$XP]O52GXP\)V@M/)A
MZW@KXXB"F*N47&_%P(7R]K;'14(?4URF45]KD05C1/MA+N2B>4F$.GN[&T2<
MF(9S]JT]ZT<#N\L>&M#@8#-^$;)+SF^FL ]!"-^B9S9'DPWE]L32BW\J/WVP
M7FIHS+WYJN*[;]-C]<9:9(0 #A;G:96K^A&7OKNB_>B;\-U! WKQ6O;%M^^O
MO)EBQB!>1VF"<%NJF)TM%90!Q8T,^C =G,LQ<S:2\MS40P=IOGVHSFQLSGWY
MM/+#;]*U3=9*<H*W[Z_@CO@M^C,KZ+2):W;,Q?WLH5/4GSY4;S8UYKZ<6?7=
M-^G+!F.M$T#2G&;LQ$2K/1WASF+T%[J+MUKCFIT>+AY*W#P8+3N!W/,'O1T7
M>VFX_I!YKU\+[H'>3!S['2&GV\@=/8IZAC<XB[9+![_SI^RCASISJAMPSXM:
M[[/E7QM?S?$#S2'5)3)YL5:Y"[5N$U+HM!FU;_,T:UP,ZX6>.9N)*YCAUY=5
M'SY4?]8WY+Y\6O[5M^S76HN%^UM=^98Z>D%95RC@#;KQ%^QC.XI]Y5 =E&NB
M?7DC^43P\'>_=HT=[*ZHHXPL+#EY*,=O8S>8WNQ[3K/,C\.9OW8 CF?;9#,X
MH.E3A^Z(EO9)'1*(WVVKH71MP*>%'[]R_V57PL963)B*-FY&R@O<V,D @^V)
MBFLK4'89>;RD(_H$(_<'8 5Q),9?&BKBZ%E"#/4ZY67CM8P>## ME%2F@@YP
M=FE7%L?_C39VY:;Z@I_93R[WV4:<\.Z].NHM[,-N5O>XI&-)<XT"X9?XD1#L
MGKZK>J="IZ_BVHALTWJ:''^O5.Q@YO:1B@E"@H\JNVIN1"@[.>@O3@S2SX%,
M<>R:T]6RO3'2/AK#O9.D<&4SF]=[;99&#.ZN&7B"@]-1T3$6^T=1Z@*MB3Z/
MM/AE!TMZGV>U(NBL*/@#38"?<$Y\@2Z$%LF*UM%A-\Z?L*;0@X$%WI1GJ_"X
M]UJ^YLQBP-D=6@ 9/YJKD9]Q_5@DM*I-5=.3T:MGHG[UF*ZWQ084#>3 [W-$
M<3:+1ZDU,Y@QQE5CH9(,XT<K)@"EO014="(L*TAX1"XM]%7C2^)2Q&0RECZD
M_5[-#5Y%*7T[>K$JRCK]!YNPF[! =85PLC2?J-[19![C$T6!0?QN^@MW99DT
ME%%Q!/Z=O':[')6=1!1Q(MM2'%#<H;L8+'M?X3..Z$WAY(IN<6Y*&B43@B\%
M+2+?_"=]?KW2[?;-*-^KR\S=+ ,GFDLX'+>:V2+II73V@2/4"V%1$B\&V#;B
M'(UBVG><^1N'YF+:G<U9/_"F7,VT=\J[6_,9YFO<AU#W);K7H?%(]KF0VZYL
MKZ=OL^-M-9=_2\E*BZR/7R]I2O7B9?&2BJFUMHQP5J#3U)8!P$8 ^H7^;R@#
M[N>H_ W7= JXI0#4I;[)27T.?SIE^5%,1@=F,-(H-X;4EA15/2WZ.L8E/3"/
MZ>-S=(,JP>NB2NMO@$"J&?WLZR)IZ+W6B#>I/:@'KR(& S.3AO(TIG85MNIF
MJJA&R[ZXT9[.CGH=Z3.GTC.$N^*$[<&R\P?MX&TKPMN)T43CQ-G4CC\X_'90
M6E);57H<9+TAOV=,=L<&4UM@RP\*C6.SG*#8,1\.#D<:6X,06&DW;IUA/_.:
MF+P^[6=EP. 5/RU'< 0ZJ2F?C3-N\;B?*7FOA05E#M<_54B6O+'V.:$=988O
M/>AHOKD6H:5 K\AO-N9OZZBL=8>[<Q@DW%JCL2I?EEN90+*]]X+R7NJ>(@?1
M+)PT*3/G12E+$95-7!.$>(LA)AO8!Q+.$H*/Y3NI;1%2T*.PIO3\LBC1?9>&
M:5MR_H\SM/G=,VP&M[/<]6;?!(. #6Z CG,H?Q.KX_@Q3W_?X+T?GJH_>6B'
M/:;&F_OL1_6]X".X1R/5)T/="1#+][G(UYOVD*@7B+82W^#!K*3=+CV<U>H_
M^P8\6FA$#UY]^28/>2T,G<N[+\$]-MWMA)&&88G3%9<YS9G&+%/T@9N($ ]<
MN!@G>]["AA^,2TQ06ID;O^+ G5*& T#M'2Y7$YJF88."3MX(6T12GH- (:>H
M#?*.4$T8@"!OPL+/<AB=13+P#5";07<&L6"\8#Y;K!YPV===.ONREZ[6T7L^
M<8T3R:"]GT^$+&TY1^/HBEGN(C^XR^S1J)U\!]3LLZT[H:QS;5=1Q,0>II*(
MG5'R"B)ZWN#PGJBPJESY$6)L;*G9,P+;/5(::-K_L6'T"5![0WAHFKG @-):
M54<X6FYWA.BZ'RN\W&27Z5(ZK%BPP<EDGZ*TW3,("%=UNJ)5+M&&R6 W^*!D
M/RGM_506E?/8TC*!&%<&!ECADG' 'T]X->T@>(0>* \0R"WB>+/:9-0C3O&Z
MQ''*8D3R[PRS6NEY,K@4Z_B$SGSBO>;0S]PH@Y3[F61#JPP\LUUC7[HDJYL?
M:#'O[B/TNDC_%2#.M V%-9?-[98S9@%A%C2VALF7-"9N,..]L\JZ0HB-B'=,
M!MH*Z>Y7PEKC:.PUK7+L6(&4O]"N=&SXP&#505EY%0LU,BV7.SOLN%[D"5XJ
M#1#7-/S>FCVOMSU25W/ZS4];QN"HFZ*M4#Q(N@BCKUJ]XJBL0&U0:KQ+MRHS
MLP$9!Y4K,Q-/<"0Z*CH&X<6X: ^LA9G:*N6@Z,8* W_Z72L;O@/ X:X#(GA(
M5MSJCU_EN7NL4A ,N)H,M1Q %5(. ,H&U67+]L&JG2^'=@"PYK1M"WA^P2_U
MW3/.GO#G(J\?)\S_5D*AP-V^ 6RA;Y9X$&Y@;<;8)0@*/QPD\O^33$5WS\4L
M;=7+@HOSD;G3X=T*.E!4#[67@/GCX8*9?-\]AC9( PYHWN0=(4U%'3*H.?TE
ML/X3?%BK7RXS,0$!J>(=,3V'5\C5M("%[MC+2E?(3WLMFO=QKZ-78G!V%[W@
MZD1;T$+'X/F0UJ#XZ-A500UF"#.J*.07-)1\?158H+J-,OJ@RFJ55A5-?+7!
ME8HG +3TZDO0)6> !C"MEL*[N_09BO1^0Y#""I8U/%!PQDRAV0,O<5IAXC+7
MS<O?>J09N;P>K=N9,#A/U[. P9N=GL+).>5BSSRWS[@#P=H5?4"^=2'N2JX>
M:B8FGTBS,X 'FIX##,ZLU!S#C#'1K4G*93N%[G_.L>L8M;'@<GC-JBI*N+8]
MTSY^!&7&(?-A]/!0TGPX,@]>+6_P$\XW6)?4I6?Q.0+8*,_#3$</QOLME)0$
M-1P+3=%JF8#E8BE,NS3D89G9 (!.,,(">)?@<J\L%74 X"6X@AJM:N>D5^G5
MQ3**ZY_3^O%D4]7%"I<7>9QMZ"5XNNM!_G]" CU%:TV2Y!.K.YC*PW>"&&C3
M]G03QEAO)04*JTXH25XW-U]OTNJW[<MVTE?.=/3P@BLK;85MHYZ&#CREN7M\
M/DXKP5I_,5K="#H>K\_2VJ@_@IN: 6(%7!N%A=D.+W%)BX.V6#M"]_@AS=GS
M>/<1(8T/ G[M0':#X^(A3_^!DRE-)!$"!J!* ZT1*TB =DMIDO:*&8W N2-$
M*9L/V3]0,H)[AW%:\KQ^Q!SXR?!+_S#/JY#*!/NXQ%&%3\F2J+@N\3IZI=>L
M*C:SMRT@+=YLR>@QM=[!$"ZOWH(K^'+"654QF;GA10G!&WW_>\N.:!NBN!/@
M V9?BIIZ$4Z?)-LB9O(PD)(K+0?2D!8@?*0*FD"3$R8ZJ+5<>T+**>;TO,'+
M39Y4=T4/<'I/=+W.Z+-@[&&3JS7.CYL!5#I,[23.&])F,+I'X@ZRH$S',]DA
M!II#0)>-4/K/?OQCE_&CK6#Z8T%$=[-TJ/W_F9<. "O,VREL7CR<L9*+P%8.
M7%H\.UDZ*59D#G[$>94^83+0$F,OBTI[^=M-1*!Z"-;&*6H>&/F#3Z8[*"V\
M?L!=?&C.&P="4",%?4WE? /L[,'2_$O#682[&(# %HR< .Y+<&<7$Q7?$>27
MP2MHL<<:FQ=O3C>T9OIUL_7U&)$69C]>K=E;-6<ON*29*])]$'<I\+:/=[!A
MC((OF]4]Z?IBB2K&S3\$A%MN^FNQ#OD,D,)@5O=^UYY7"SF8CK<P8<=^/P+U
MWI\6__V;6+>X?$K%U>=4(5Z3"R<9:#W,"1+ S&V3U';!=M6R[FF3Q$[_GW!%
M:V?=8)JC2TL$,[8?\U3^FN\,0KUMF,S6 /VVR<X2@X-[5C/&8*<<;&^D['F:
MIZG1AG+!FK ;:U6O,SHS'\P$K5%=2*-F?=>(0(T,U @Y0HV8([2P?)AQ7P,9
M >H2I[5PDNK$"6-($DRQ&W=ZM@,87,:ZCA'W2[/'^H.=$)"KOR_XF?WD/IST
MG+]^]'M!$9<[C"2BUNH8B-[^*?)V3F@B(2AA?$0+-3)#K\G,A8F%S#Q5BRC)
M?=_[T2D]OO CHPT^:%@J*+OB(T!J311ZI(<W:RJ!)D6T87>X0NLQQ@D[?J=.
M0@\;KI8G3&5FJ:RGC$SP0@U[E87SXY9:Z$I61XWT8R-X3Y'%%UQ;=Q$_Q]GQ
M>8LJ7,SH8PH;IN"#@ZNFPM2#ZQY#31)+J@!<J!&BS;!I1[[.MI.BJN6U[C7T
MGL,&FW'!1EOA5MURB=E2(Z9D0.*#15ZG29IMZO0)W]*'4MDUM+.7)F6O27%?
MK3=U>X?C+"II=E[536*+5;%1WUJ?1[;70Z\YFV-P$C:'X.##UCZL$5+PBYJX
M5AIEV2OJOA$VVB&#[?;(3]:Y P)XHY5</=F4DC*R(Q15J,3KHJQW7\<H(I2?
M,7TG%"<+HG_T@)NEU-62/M$<-^LO[@E1V>3I*,!;S#+)L#YX<>(./AQ,5EEX
M"+:5@:)&2.OO1^B>2@$R54H-/:4C%$X$0Q?)WS=5K7G]9;(TKX\6[V;RX"WC
M::*"8WP>_<5+KNW$ADE0&-?L'(TM#_NSX.?N;61Z[G!S^V.HR4_AWBK+K;M>
M+<+S-H!SIUMH+FSJ-&>DFXH,<33AE@5'N EO:!V'-C[:;NSL:=;M C$V."NV
M G6$WF91K:+];"FE"@X>HVK""[64QA$$>_3X<;3>HEWFV0I2>!MY)D6EX[.S
M9_YQ%Z;@.GQ>LX3QO)>(<"NRO4JV%4KG]/T-\',=#U%=R/B#$]H<.*^8Z@L:
M>CRP5[:/7[<D[:[7@H0F29L$QTU^S>2H.@29_SM>#Z3VU4R#DZRY/P+QCOR^
MC%2?S;:,B.,\0L?=/>.WYX>CF+5+4V5GC_OO%/W7#]1G;9IT3YZL^_0;]V\+
MTY7[2"T/ZI@0XSJ ,>#>W'3WBJ;[4N1/N"+6CQKN$]U'.(UJ?!ZE)4MCU_6=
M)P6\CP1>&U88#+Q\'>QXX--ZXY! &1#C.(#A8(>1E+50=9$W.6U[&J[''SFD
M"5[>0'/.X\,O!-^8VJM9C@$XDP$G2]+4(I53D^PC!)]3 U!>.G_3.KGP?)\_
M'/^>W6;7./S O'^7YG*+OGUJ 6H4V$\3[V\RAQ6,^YOM]Q&&OZW1X.QEG39%
M9_<=?$N_=$A>K6FJ.3U7\IDWXYUJVQP#<B;H<)S0%,)(VB5$5.ZL!BCWW5,C
MSQJ?.^IP.(Z_'\-=(W6 P\(.NXD_!=T?M_[Z(6V..S;IG#OCEI^&Y?+>['6)
MP %Z^0XQ47N/?D.+?NPW I=^"=04/KVIYHS )9^!Y95[L<TQ N_+/WQW0B\3
M9MGA.*0I5I&T48AHW%D-4*Z\IT:>-1IWU.%P!H']&.X:C0,?(N8XYQ^V)X!D
ME@D*'5+\OGO#[R79Q5D;6$-)R"9P"?SW,*!,*78FK:OZ?M3 T\7 *(.F-]*N
M)II<!JBG*Z;K[[QCW?)#F@)WV]%K# J\8^VDQ$%%R),:>.;=:@<-8$UIOLUV
MWZF>:3A036#>,EF%"NN#X36$&OXFT'"-O)V _>L YT&BP"W@MFEMX?" ]UX#
M70H$^/K5_HQT#2G9_SU\/$&]L/:VL6=E^DY7UL+C\X]PC0HJ2OU:/_DBE1FD
M![0OK7;O&[R*4GI?K'N[<1-E=[A<?=A3%T[2Y)!VHG=HZCD'B@EJP%JH![%=
M-5J\ZRKZ]0(0)P%=IDN,OG[%45E] WT4V2E+E\WI] W+O99)D7P'U ;=U&::
M-QM\]!&@L_T>3#2OACC.-^N! 0JD6'_]0+W5]WK3\M-OVK/GWT(_VH/[0]E,
ME[PM'E*1M[NA/G[G/)P6<+P_>!LXK.7W,0@ 6<NK!T_5ZF:<@A)4DT-:R^_0
MU'.NY2>H\6;6\M-MGV$M#WT4F1*"]>/KHJHVJZ:1;]+JM_,2XXN\QO1QV!LR
M#L\=^ME_]R!6#Z[-.,NZP?:CL+S?@Z5C7Z>D[Y:$%J4M,2H)-23?G3(FREKE
M[&6-Z5/.>YGH+3YX$/.Y=</-,FT;OP;+/_=IXM@Q.QJ4<=,L)+><:[#J#/VI
MR(B8+*U??4VJJB\?[+2J;\J]3:SRS\)R72^V*GWXJ:=^RQY\FCZE"<X3W_X[
M_.[!>Z^L&??NN_Q'W[;G2BQ5^FW2TJ+7%&=@[IW$CSC9L$?&)^?IWTGVQ_<@
MWZLOSMTL Y^;2S@<WYK9(N')G%8^/6UFW.]8:(SX;R#^(^C^=4#8?@BQ+Z%?
MV+?^-Q07G#HP7:8YOJCQJII[Q.,$'\0$*#3$+#-<+Q6.F\UEBO2)08-/&5R*
M?@*Q;QR\7YW]OB'!]45>U>6&C297]2,N[QZC?'R:MI]\+/?O'X273FW669S9
M]>-@G\/P:+PZX^N&$)<IBVK9I6ST8Y[6U1&?A(G>S),8]JWGO7KWK*J]L4'$
M;YWO&?7Z@PX]LU4H89R(L@XR4_Z88]-^'_)Q_OS;&&/V^/B/X[</?VDRS6#W
MT.2-O!/@V%SP(I*W^=+(OKHEQ)@"*T"!,.CL.S3YHXQ-30WJ8,'(^/-O8V21
M-ZJ?@6/X;2B5Y +9[1Z3-&+^8&X/+R1QUN\M#AS 0A)'Y?X (<FT%ID:DOQ!
MAJ:^A&VPH$2BP=L87I1-ZV< $3[_QXE.5*:[!RC 2\;OL_5H,7YXH8J;<F]J
M(''J$*]CC)5F?X (94)S3 U/' >F@\0]J'0(J&7MO!J_6T)$^/J+_^? _;!J
M-D)IESF.W-_&-6[2>$TSBLVL*L@\5\<Z??H@(K\)C3G+T.'PW3>5B^-NMWK"
M^SDJV1'9L.[B;'DUNLI/.YGN6NA:*,+CZ>M^:SQY;=)A82<OGX;DQF%,=Z[F
MYL65[\TM<*]N =?M&8_?A5^B;4(S[EZ1S>&C,%W6C]%.%=?>3"ZK.CQI\V/\
MQ4/]!P\\CAXUW)ZCY_9KA[_3:6NB:W@\4Y[7U.!8>?5V.T)I\]YV#Y!GU@!.
MD+R7IK4/E&?]?'#_#6>S<Y0<V*-W; *'B-FS%G \>V]-/.<R^- 2N,/:[11>
MOY'<;'5(<_:R3DLF9O8Z$I8?/? @6]* >PZTN2^^F:PF%VM=XVXF 73<S=D8
M,OAV5@/./+V_1IXU#'?4X4!FZKT9/N$1DKV[^I0]0"&Q1-8N?O>SYU()_E;W
MO(T__[LDT_0!-#0$;P3')TIF&2+@1O1<'J:_*&WPT0./Z"4-N.>(GOMB<+_V
M:J9K*+^'&PE[#.LY>T.&]<YJ'%18/[&19PWK'74([N.!#7<.ZSV[_;P!3:\\
ME #?1:%##N_=&WZ?P;V]-H"&A\!-X!38O\';BKI=T6:$])@5PWWRP -\H?'V
MOF'??N\/L5T_M-5]L[[E!QS7=SH&WJQW4N*@8OI)#3SS1KV#!H F[ !F3WTI
M''+>C*D=O*7.3%$$CJOOLZ'G3*!QU^) 7'Z/ID]Y%QS>LMWF0HWM"]]!-8&_
M4)^EJ>>\A#)!#4!N'\KVG5[X_D_V].B$6Z.'M<"$<X'Y+=4VF&*W\_)SECH%
M<P>FVRVU$/>7)WP=?@@ZN4EWCSN=/PW'A\,8[K["#%%KYXU?R 4TD_@WVFVQ
ML_<YQ'?L]P%,%/KAK:]T/L!8Z?CU=E@K'9/33U[I!"T!U\6[BSRYH7;P#?,9
M1]6F9 UZD:\WM6RYXL+O>;(@W7%?5%BWZ)BDO0" ;LE0\+VZVK*CE/(#[& *
M:]=.I3R'U9$#C56==X1P]R1[1CP52(K (F/2<2(/KNDK\GFE*CALR^SSV-[-
M(!Z3=IS!YZ=)ZHY!>5?49,:H:,W0]EWEF.-E2"7,0#!*S%H5.2MP>A*M4Z(Y
M,[FZP14NGW!R7I3G&YH+>%%5&YJ"HVBQ"7)\(G>RF3R(G86 P?-4S<?07CP\
ME"P#!>7]GEO,9*.*"41E*Q$(O*?O2S+[KI9-.RV>HI28DF'24&Q%.?LVJ.ES
MAY&=9==H\VR8Z[\%QO7V;*!Z+WSHEQ'C)SP8+8L2I:V?'[J;J@Z\V1Q\0=9O
M:5ZE\5X>=G#Z]$&X[X3&G,65';Y[^&[M;NS8Q9G<-K+D/XZXKZ/[5\33M1H@
MIL(1:I78YG!49)6+&D6.4*]%L_GY1L8(;DWI96#0?.^01@-CL\TY!"@_]F;\
MWF3AV-FWOOA$J>C$7C22^ TK2"XZR_620>RCZXI]?,V[>^ZOR03GG/]3L%QS
M;_:-'?/'EKAS1R N>+9:9\4KQK=D%9[&6#Y<]98R\RL6>O"_GQ15_:6H_Q/7
M-S@N'O+T'\H[27O\GD\WW'NS\8ZXMX^!<<5]6R@Z8]F3*'=>W[J'-N'[>5&V
M?Z)TXW3F4$J\"5_6-K 7!Y=J\/:]7F?VI*$ E5M!J$E+@I8>VAUM3MC:\OEA
M^$FA4QIR]WQ0EZ\&=V#OIEJL<I^[O R\YVM&)UE455?+UHK6"+K3+FLD#;$W
M3S JW*-720D#<2;UE*DZ>$L:*"]GJ/I5R=)6N+T=Z?&Q@0=>7HZUQLJ>6A.M
M'B,XV0Z;LB3#UCE.<!EEMW54XT6>7)(O9G?12YO6<8QSO$SKQ7W%TO]4;3-)
ME-><AQV,'>!V@IS@ \P,RH]!W8KZ 226!6.LVD/"%0ZA2A/48!18@.).I><8
M8BTY+(3IG49OOXDW -KLS)%@3L\(#7E6V@I'RY0)%OJL1NX9!G^X<_.N<[)7
M9-9TS:>-*=TUER?8QHT@(&@]Q4M,]$GF""TGRO*)WYW,Y8$\21"8L787[<>H
M[F1!B2]'MEWD<;'"MB.O+7- S!H,TH!4P0EM]>ZD->Q(M#-EX&#3$&DG(@0N
M78R3H=.&'RI&'72''+,ZS0=SS"F 9_V=9WM8<>L4U>6!:])*"K1U[3"RJ!S1
M[T:UL6M,:LJ[(65<J(Y>@%W).ULN<5RG3[BWZX9@C1Y]YW&:I<VQ'+^ VA!-
M7@?$J@/Z.21[3>68KRD&^1F[BP6S!)G/%D4(*'$4%-6HZD2A$L[\:],8\E!#
MF66\FTAHSF(RWM5+5/(.RCT,1D@#3HE7'*$<US1U8=DZ#OWMOIF+#L@_KNI'
M7/9_RA\N:KRJKC'ID]RT<36?>&A^X](HKCYD(_N@_,G!H+%O$:I5E-.;:DE*
MOE1BTGO5SCMBBLP?&UO.BQ*G#SEQ:$*77.0UT3:]SUJ64YQL8DHF2V^95;RW
M[*(]-$J?CS2C[. .L2>#Q@[Q#K7\J!5 )IY.0C<')9V, YIE5(55B+M7A*%=
MPK6#QBYSN]MWH,T[DYK).8AS^4APQ]NW9:('LKHI".Z%$HN&.'FD6;P7^5D>
MT2I9NV\3J 1"<R"]X:Z>(I=V4"ZA-4'$/HOEZ!4),2P[(/A_*?)VDB339KM+
M2&L?D7YZ) N_4_R$LV*]VFVJ<?D(-#=Q;R!7U['_ K0'U?9BW=C3.F(4Y0D)
MZ'IR%)<X2>N=G6V')5 W8M +',UV8I85SY):<+-(!+70,9ONM+91BPL^A<QG
M@Y VS1AH?9D-(2KKB/R+[HRMBRH%=7/>P?CN,) 0+:H*UY71-_;V%6@SR80F
MFAJ%67PBN%_MURZUKSUU+"CJ> [(SUC4N4C^OJEJ]A;,KIN1 U'0/$9E[*1]
M9$[.06%?H?P8X(SLT("LV K?TPX[4( ;&F'.0Y/# [[>D+$3]&+Y0TA I_#"
M_/6I+*K*,NE=Q10BSTUO@"RQ3<X!!I!6:JH2TQG,(L8&+4>]MX?\H_L;MPHO
MGS!]6V 1Q^4FRBKV?\F:/XWNB<O5J3+W8S[Q0=&[8Z-H<3Y1-ER/V,T@H6!Z
M0XBR+>5ANTZWF#@ORM-B<U\O-QGYK=BH@_1]?.@ W,FBH69P+,U7#MW%S*;)
M]E"I%+:'VB][#\CA!H5W\J0]GMS!L90"@3F0P7!'1U%(.R2'T)N@C-  GDX+
MQE[DUV5!#^"=#N#<Q02%N*616F ;9,"%LYWBOD_ ]KJX=5IO05C,VB]B8=WU
MT>JHOV_%K5_A88E;2MAOE$B9 F%+8X "8Q(.B&.:6DWM1@FWX@.X6\(91<;J
M-2[KUVMB2TU&ZK/?-ZGE3&PG)3P@C2::$:H4 2U;99KZ0AY^2\\F8]P1LQLN
MH,'\J2B2YS3+B(G;3.LN*AG^MU/[.<D-#_@)S6!V 0>AA^$4[@9)ZM:V9!5\
MW[@N\3I*NQ6F&_X%WO 85YAC,Y0/& \#JW*EQ6&;4<&.;]F)IY/Q+4=XS U4
M-R.-D1\&OGA5(2===-KW)^KVIWAREA"@TBDO0Y6,/@2L[FQ7YQJ%+=;H!W!8
M9CF&#8B#;OK8C%P<)<2%N*B>\/@MKF6[/>AK#E'?0(64=0HQN+3@B:F^AY2^
M.STE]Q)7%>!L7,$PXD.V;<!(@P*-4U:++$('. P;ZSC[L :U2\ ]>*'5\I!G
M&_Y5K+O^XK,J8E92^W1V@\H\N!2D7M'5O")V6T=EK4.87E7M8V;UMIQ012MP
MD4"(_/=#FN=I_D#K#M$_O.((RE)-82I9&Y0XJC ]'=YD-=']G/1[6Q:\?3@J
M>KGN;H>YM:.S< "(GM@@%@[@*!E,M#6K.6.?8@?&-'.^D87>=97DF>^ O)KH
MU![7I!W*_?B14C18+S(TQF0?4L@]3 _2&V/VGS7E/SCO.<5[\QY'T0"\9U)C
M6'B/DUQH2[09;9([4=))FN9#L(-OOXN[)OP^RZ=TJ'*%IPV_<9[0H/L@ NYF
M,_X:YU'&\IB:6RG.<X=*#( !S&BDW50OEW$P2#99(,E?P$3'FJ7YK"D/V[6@
M!00HKM\QD-]'&: -RRO2/A$=="_)"'H2E>7KLBC94^**IM(Q^ 2N67$>HFIJ
M,#&F4479AEG1,:&,SH Q97O7\4'9P_21O0]_[]/6 L=$_J;/D4V?>QQ6Q/.<
M<7MTU5D6*WH'3=&([F)\#D%3C>2![BH#S' U47%MDC?<<SU%@'#W&-4_%YLL
MN5BMH[CN*TG<:0N"3A4&("ZT--@B.C1( H/SG=2W7P'51!YZI@)1RB0BW)<E
MJ6'5([F-'W&RR?#5\J3(B#(%C4">\(*^4?^ 6;DA,K5](1A3_'Q'_E5%K,1V
M=1?=9RH_V<>'?/K0_AJ*]Z_YOP+&]_9FFE#HC>='G  6=/'_W13P)=Z:HR'3
M+TS^_P;BHS.TUV6:8U8]2=$Y\W["ZVO1>VB<P6O2,\H'XXM[,&H?7DB_@=A'
MH+ABNV5T4[PV6TCM :NBF974/AW$H#*/=04I&-CJ]5/5%RH[<B 8NHY>F:^=
M%V5OB<)@.:E/].B4Y:$CHP.#&XURPBVAAI1NP6R!0VO\HU61UX] ('2ZP7?%
M#<[H*=UU5'*^T [@VF')FMMK_JJ;28/]13M6,'!TTU?89-F0162!RH8?K8F
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
MCXC\8XWCNKGDG;_KCDV(8U F>EFI>:>.E1][.Y,WURD@IF\7?0"Z2/#& 'B
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
MZCM024>LD$,K#'W=B@OUTFE77:+5MB\19.YC.TY O>NHL'B=JZW#T?)S[Y"
MZ\T!="?TJ0T_P)YU4EO9OR-_A=S/DP=H)P$ >WJW(7KLRL#'Z*;F<?JT?1F9
MED*F]X?S.,V:&AXDI$APLB%D]UGWY/8-KC#Y#"V/>XJ?<%8HJZG,^P5 >-F3
M86- ]9_A!PM6KWKX*;:,V7ZL0QBK(LR^UQ0!WGZ1%<F.<; Z*UP)K*:0R*>R
MJ*1;/G)*0% P**@<(VA7=D54&$OXKN"J@#D537(4 ;/SG#37]BHG22AS!*+*
MD=SJ3T61/*=91@P>%P@:_[<]"!R$@H?%%%OL@2+45@(%CN%CM@X &#&"[V25
MOBX>/WBY%U8_LBP5^]YCY.#[;*BE?4\QOL#=TP>0AFJK.GJ ':15T[Z'@ 1&
MV@J ,CH F]I6ZEE%I^TK;_2HN3U=R;+BF184"M0S/^9E7^2**-HNHZ5NHR %
MU#\F#<==Q-.S;NHX8'5&5Z6*/JFSR6A565JC\+I,B[))A&3UXJM4>=8_AUQ
M ^.LYEAC@I9@;5_!ZC_0U'=DG^B>RJ(L_5=@X6C[N #.HXQ5T6X>_'; C%(&
M?'R857?  K>)U(M#K;Q O7Y)2XCB_FGN2PK5OJAA]_SHZ09_P2_UW3/.GO#G
M(J\?I2/&5%F 4+"S"6,T- */N,?/F<Q!Y<BZ0/<879,URQ'Z3QR5Z"H/-;/;
MVD_5O'LN=D%!*^( .W^L^2Q]3@0>0I\_EEAZU])9R*'V^T#W>7J>B@3>][MT
M^0'V]$P=+.E4_D^7Y%_DS]V?R/^B&7+D+_\_4$L#!!0    ( +F >%0KAZ>9
MI4X  !^(!0 5    8V]D>"TR,#(Q,3(S,5]P<F4N>&UL[7U;<^.XDN;[1NQ_
MT/1$3,P\U*DN5U_/92=\K?&,R_+:[JYS]J6#EB")IRA2S8MM]:]?@*0DBL0E
M01+*E*R)F6F7#8#([TL "60B\=?_?)T'@V<6)WX4_NV;#W_Z]IL!"T?1V ^G
M?_OFEX=WIP_GU]??#)+4"\=>$(7L;]^$T3?_^7_^]_\:\/_YZ[^\>S>X\EDP
M_O/@(AJ]NPXGT5\&M]Z<_7GPB84L]M(H_LO@5R_(Q&^B*S]@\> \FB\"EC+^
MA^+#?QY\_Z</)Z/!NW> =G]EX3B*?[F_7K<[2]-%\N?W[U]>7OX41L_>2Q1_
M3?XTBN:P!A]2+\V2=6O?OGY;_D]1_:^!'W[]L_A_3U["!ARO,/GS:^+_[1OQ
MW?*S+Q__%,73]R???OOA_=\_WSR,9FSNO?-#@=N(?;.J)5J1U?OP\\\_O\__
MNBK:*/GZ% >K;WQ\O^K.NF7^5U]3OM*3Q/]SDG?O)AIY:4Z[\3,#90GQKW>K
M8N_$K]Y].'GW\<.?7I/Q-ROP<P3C*&#W;#(0_^7LK;\JE,V;AE&2^J.<M?>B
MQ/OSB&LE[VY>=Q:SR=^^X25?^2=./GPX*3[PKUN%TN6":V?B"^7Z9O"^R\?/
MO$"@]3!C+$U,G9 6=M69.R]F83ICO(@76/5,6K/';HIAQ.;\$\EP,ER(H<]U
MRPB>OI:+[@TGYS,OG++D.GQ(H]'7612,^31T^7OFITMP=T&M[+S[5MK1H4E'
M:G/N);.K('JQTII&I1X[-^33R[//7D[#\9F7^/QK=S%+^'=S-37U$E:[3RRS
M^=R+E\/)@S\-_0EG+$Q/1Z,H"U.^GM]%@3_RF1E<JU;ZG.BRQ ]9DG#[X,D/
M8?.'KDZ/7;OR_#BW#SXS+\GB0O=,?=-6ZK%S=W'$9\YTR?5,C-F%^(ZI;[HZ
M/7;M4Q2-7_P@X)^YYGH?3OVG@)TF"6!9!53ML:-<P>.,C2]?%RQ,S&-$4;S'
M#MVS9Q9FS-216K%>)V;[Q7$'"^&E%X=\&DKN6/PPXVN3J5.J\GTC]4X8P&.Q
MM>$: 5H>#-5Z[. UW]'-V:/W:E9L2=%>E3K@"_>8VQ3I\C'VN,0CT"QOJM=C
M%SD5<S_-IVH^\YQ'^:+'M\2 A1-0M=?%_BEAOV?\:Y?/D-5(57[G]D>_=LB.
M[9%'CZ]"K:R2[9JN;1-8/P%5'=LIL'Z::^[&9H'U%MR ._L%UE%MI?YM&5BG
MI(4=&A"P7NEKN3<F8+T$579C6, ZJ*RPFQ4<UDEP SM?.B]8ZOE!<NO%XJ#L
MV6C\=FNU3_%&,S;. C:<%/,@Q_7&]Y[\P$]Y!_COLCD;E_TP"M6B+<=6@2TO
M-FTX86&]\,L@M.;!IC4GXJS/+V4&C;4X-JVY$6<UY:3\I\0?E\?B8EZ*BB-:
M#O$7H2A\BK(7KT/K3L2567?64@$:<=+YNH5GW7%# VZ&?Y9R=3Z=1W'J_Y&S
M7]J ]D,?V)*;M63;?K5?/[3U7:SNI7%[MOS$HFGL+6;^Z#1F'K3G=LTXP?R"
M35@<LW'9!6O,]?6=GE]:6T_@%IP@+7Q&(SZ=7?A!EG(MK>U K)&W:\_ACLN6
M!VA])RP,%V)2.QWQ#VT4  ZZMKI;TV[U\>0+\Z<SSOCI,U_JIRRWD!=5F[.%
MI6??N!MVLC0/3>+J<<^2-/9'O"OYN/TE]'-+M#PZ;D]@QR\X$;NTSEH+I:_O
M6BU7MF5/BFANSHE ]VP4\4WU'Z4V-$]=VII4+1MV?P;5:OV$-^-H*S5?1*$X
MRED?/?&=PK.?;#IBLW,"-^;&(F AF_CI51S-*P=I8L<SF3 QEL4O[OED9#^>
M6C?MU,CDWVRYJS*UX*3;OX3Q>NSR#Y>8VG<>UHZ;<US;00ZHN@,'LFVO;=MQ
MN O_[(?^/)O?,#Y/WGG+_-BYY38<T-1NSMEMZ6C1E$-/NOTI.ZR^KLN+2F3@
M#?_%5A7VFK)PS,:KAD2OK>*G4S\5-<JX]@^#=R((/A-X\Q^+DF5O5OT)HM%6
M%P(1+![5 K)7@?=Y2'C"1G^:1L_OQ\Q_+^#Y_3OQX[OBQQPG_L_?\H^=/G%#
MFH^X56N!]\2"_!N_\3*U(N]WU+,5(H^\57G'MDO4^U5E\#0>#:)XS&*.^:HM
M+QYM\=:,I2]+O%_D(;?O1C,_6%,^X0NS"J$2C4C1T2I8_!.[0_24]V$L^G$5
M>%,YI+4B0$P_8( JE083U0N6C&)_48T94X"[51*(\0DJQA+9$*!>C:-[-O5%
MGT5WUJ'G^CE"404(_D?,64,K+2(+IV&8><$]6T2Q ?SMDD#,O\/$7"8;(M3_
M-^.&,8N#)03M1F$@X-]C JZ0$!'S?!OB"XP@H#=+ U'_ =4@4<B("/O#C 6!
M.-CQ0I"VR\H#H?\1$WJUG$3 S_=.%WRY@>-?J0*DX"<J%#2D163ACL5^-.9+
M?0S OU$8B/S/F,@K)$3'_#(<0Q%?%P7OD? !KXF'"/>5GXR\H.C5%?]=HH=<
M4AP*.\K>U"@F.O3_8%X,!KY2& H[RG;5("("Z.=9'&]U2#O#J$M#84?9J)J$
M1,#],DS]="G2F]QF\Z?-P>LVWLU24)Q1-J<JH=#P79U,A*G(W*+#N%X2BC/*
MGE0G'!K6YURFV NNPS%[_1^VU('=* I%&V4OJA4/#>Z[V!>AG0_^R#R!-,M"
M 4?9@>H%1$/\T7N]'G/)\FLQ B@S\,HJ4/Q1MI\@<=%H$/$#\2*J'#>?B^M)
M\?(\&FNG>$-%*"4H^U(+T=&(.1V/.61)^9\;/V0?='1(BX-]37@D:,0D!/V)
M'?0G<.A1]JM&,0E!_]$.^H]PZ%'VK$8QL:$_YS\.X\?H1>'55A:&PHZR9S6(
MB UZOOH,XSR:M4@3:4*^40,*/^)65B\L-@?EX@_1^E5)*.:(VUJY<-A8WT5)
MZ@7_SU^8K$QY>2CNB!M<G: 8!Y,%_^*00Q6N5"L"Q1AE3RL5!P-6P73,/+4:
M;Y> @HJR494)@X#I321\*+,HU)[E-DM!L479<:J$PIB(131SHIP&*G\&1\NA
M3+-U,1"@_!+[*>^%")_/PO)<1^%A4Q2%0HRR3=2*AP#W0YXP1]Q-^,PMR-C?
M)$3>QEI6#@HTRJ90+1@"RG<Q$XPS;IKG,6/BZD,\G$Q4,[&N/!1UE#VA65!\
M]*^3)&.Q+0>26E F4+:'4*$QYAPVRO@TN/QP\O0H;O$H9IQ&*2C>*%M#E5 (
M^-Y&C[$G;O<_+.=/4:"^JB(M"$4992.H$0T!Z*V^R"&N%8&"B[(#E(J#.#]<
MOH[RM&7JR AY22C(*#M"G7"H<_$4-!=/+>=BE)VA2BA$?(OX=#ZZAD^!/]W*
MBBZ'6EH!?.\'$W6-J!AW"_-K2.)QK'B>]^6*_R"'7E$4"CK.%4Z=>!AP9V-?
M9 [*NW7EAUXXXENOS>,V"N2-M: DX-SQ! J-YB+XPH+@?\+H)7Q@7A*%;%QL
M!W1> F45*!.(/DF#N&@T_!H%&4<JS@-08\584!2%PH[HBU2(AQ?O6015K]>C
MXE5$'>JJ&E#P$9V2>F$18^%2)OKM/[,++_7*7NHX4-6 <H#HH-0+BQK#'Y_S
MQ6@:Z7WQM8)0Q!%#<*6BH0'],/>"8)4(70=TK2 4:,186ZEH:$!?SED\Y9/<
MISAZ26?E_5,=X(H*4. 1(VJUHN(1\+JY]U[<S=.B+RD-SJB "+U22,R4(>NW
M+A[R!ZQC!?*Z\E#L42]^J@5%0'^8SEA<M:WR#EWS_9TNH,)<"\H$RK86*C3>
M>EO)/J!=;K?*03%'W,#*!,.[QY4]!?[H*H@\K=V^50R*,>)N52(6&L1G7O@U
MSA;I:'D71R/&A!LF68\\P*8)V "4%L1]K!44>$<+FY=E\OS]226GNO: 05L/
M2@_F)5. X(C64;*Y@,;&9\M[D3)9A$ \LM?TC'_LJ]Y8 E2'<H2:&0D, P)5
MUZ-)G!^81_%IFK*D@$X=I* K#R4#9>-L%A3+/Q/%5WX\OU;L'&I%H!BC[)&E
MXN#!JHY4V"H SFN'""ER7$+9BYMHI/&5-PI!@<5QU<I%DH#[U_>-WM_P7[C-
MKGWF!1Y?(OC6@U4\EEM9MD\&[P9KKV:>9CM,HL ?BU5F4-8?E UTUI.)ESSE
M+&3)NZGG+7)E><^"-%G])M>9=]]^>%<F+2]__=NZB\/)VAE[%Q7G.)H\W65U
M6.WNXZ"]?.63E$9)ZN6PTGM; ;L];!22.)B6NM)1[DR@K#2*H^4)UT,LXT$A
M*A$ZSKUD)EY<X/\1+]P]>X$PB$_3<R^.EWR7DC^QI*8'6!TMY3B(B:B-2*18
M_.S%7UDJGJ8NP\I\EJC/0<I:VDIH><I;, :0G@A/Y2E]<L]&C&L6[_$M2XU$
MZ6NA93=OP11$?B)478<B06\4+WD/U=1LET++>]Z""IE\1*"_B]G"\U>O\AJ'
MAZ(X6CKT%F1H)2;"RFV4YN_!W41>:#F! :JB95!OP188"2+,;<D&-+41$ZJW
M65=D$E;0YWTO7@.\*:16]C#O7AJE7I"7Q)X'BQ?M[P+Q5&OE67OMDJ2OA9:L
MW6;C!!&<R-CZ%$7C%S^0W6<KBVQ*X"5NMP&_+A$1H*\Y4.'4Y_-L(057A<O7
M49 )5YJ9!%AMO!3O-@39($&$O'OF!9?"I<.$V9D4#SW^=^2'Z:_\IXS#K*8.
M4A<O2;P-<7 4B-"V>D-W_<3K6N'4=.GJX"65MZ')+#41>J2[Z=LH'+4Z4*A6
MQ,M*;W6^"I._M1WXS.*G*&$$+,$"#I/ICIGEWOY<_&#,]!O?>_*#_-21VZIY
ML,\L"CC0B;!;TZ79R0%O 2^Q?G>WE"U.1&;92K?!7BM=';Q4_6UY4-)(V[6U
M6A[NO*58&\#'[/7R>+G]X8C+%T:YY'3HB3,^U3>$TS*DJH*7[;\#27KYB?!T
MD;''Z)X%(FSESHM!1.GJX#T)T)8I,P)$J,H-J],1G\6+!?D\RF\$\8Z*V".?
MXUH&0!4 +&%'PFT:Q'M\H/5P[(8=$0W@NU4&7O"DA?'>+FC+G$9F(JP(71("
M?/'3V7F6I-&<Q?!!"*N-]_A!6]YL4"%"I(VQTL%*<?!$0EN20.;)WN_;-X=&
M5GL[636\%QEZW]ZI4>DZ'$?1^#6GY<-)2<KY\.+O6ZN7]AQ3E%85QGN:P0K!
MR"S)P1Q?-D[4JQ!9.1/J%?'>B&A#-E0J4FN>K6$,<D!T:!/O!8L.E'<'D8@V
M2/;"$,(-U?!>SN@RC"%0$*%-*I^EC8/Y'$<'FK2B'Y(1"Z(3\\&/W@W4@V%1
MY GPBW@0<?5DM3B,M*QJ*^&]-M(/RP!$B$RM;1R^/;AX';Q8T@]S>^/8O5M-
M%7F/#1?=I(7QGC2!8]VX:*"2F0@KE90IIKN'C9)X3YZTY4,E+1$R3L?C?+OB
M!7>>S_>KY]["3Z6/7JWV.:H*>.^DM*7&(#L1ANY9ZODA&U]Z<2AR/YV.1MD\
MR_<D%VPBWO12DP6IB_<$2UO>X(@0H; IH8WA@/F 2UN*U!+OO25O,IY FS1%
M3;Q79'K?N6FQZ54)\+/#W.70SA@O4ED^ME+%?(2GBAG\^U9[_W%,';.K'0+'
M?1CGG1[GMMH=B_.D?M!-@[K^_J::L4.(R(*[W>DB,>-IELZBV/]C,\Y-=#;K
M82>EZ8U'%22$^<O?K+'D;E4'.SM-S[QM0T&8,WT66(V$;=+ .CLNZYD]UQEB
M>SF9L5\*096Q4]ETH-("''ITPI= ;27L]#?]T$=\\6OTU+3R*2M@)\CIDRZ2
M:YYEVG.5;&U6.X?'<?V1!EOJ4#;PF]<HAY/AHHS.4>1Y_4ZW>=\T-(@F@TI3
MJ*DT1-S9NF?FG;JR N[)]S,+,W;%-5062;Y.B2%"K_C_CA^]5]U1>(O&D+?M
M!AH;Q^*MX2(SG29\UBGET,V?6\6P-^5V+$EE)(+_ISA*DKLXFNA\2EN%L#?6
M=MA+Y-M[=T2YX(33,K4@( ^VI@KV5MN.3Z/L1,;5 PL",?&&XR*1[:;'FK-S
M31WL7;09]P@L"RFB/K&02Q;PCIZ.YW[H"ZG$Z[5&MHP5L7?.MI0!D2#"VST'
MDW="9/6^X"MK$.6Y!(VL&:IA;Y]M.0.A0(2Q"\;1Y%M+@27_.6 YJ%S;YN)A
MLS]4CYR4U6&UL7?2MOS98$*$QH:(%E8'?@):6X*4TAZ.%5D88#>1]+WN.@S5
MPMAI9UM:CDUY]Y[+VRB,ML4KU=6\,P!414]Q:T<T& PB$^IUF#*.:%KT-7]Q
M6'=J)RF,GN(6#GDCZZU*="+D?/+\4$P5P_#"3Q;EF?AP4F0[_*#9'1CJH2>W
M;4L9#! B[!4AB)]9.HO&F_2\(F6O< +61='%P-NWA)X7MRW#;4$CPKE2[!9K
M((&DN6U9-,*P]T;/QHY;^3_\,./2;OQQ9VP2Q6R=D8$EEZ\<,DZ9'WKQ\II;
M$_GM8>$YB?+CJM5Z9/*:.?HH>J9?.T-K!P0<B))RV<O1=\9"IO6U*"N@9PEN
MHQQ*P:DL%BR%;']KQ="S_5INB&1"[OW(6ET%6T7BG7F)/S+O=PW5T/,"VU$+
M H'(6)/VU9(H CF!89 #:").SX4?9*DN!E%9 3T9<!\4U<0G0M(7YD]GO%NG
MS]S$FK+;;/[$XN&D$7I7]IYOT49!E&3<!A.VEGEV[*M]]%3!=M-HO[#NF:X8
MYF'+9M!3#??,93M%44WP^YKL42%WB:%%(+1U0^@ID#'TR81KSQJ%&XT]G)S/
MO'#*DNM0<WU\*SK[>U!TM@C.+IL>^.&@VOB_>8LH^<N@_ :-V];M<DZ!JN-F
MPBB[^"A2X0)$*<N9!GYC)#@9_5;\-#)B;$M4]9.28(2/XV*6 K!2*4N,F2V]
M4E%0Z7YU^T&"AO/ 2Y)2OTY??0@;S2K[2$I3BDK@/NJMA$K'+J*YYVL"TV1E
MB9&A4K#Z/06)))4@5>3'-KCIDHKW<;?O5W]FPF+2L&.JB'V5Q)HD&!)$]J!K
MZ8H%\SR:+Z)07)P#SG/R:L2&%VBNDTM2N2R#'R>Q[IQIRE,4)T:+3N6D(0\-
M@8A,?G8S'O%ISH*5/9C?*M>?S2M1HRCV5;HVI"@E)L*((L.GB1U#->Q+<FV8
M B%!A+5Z?D\37:KRV-?DVO"DEYT(03O*9^I^_6F<>;A/8[I@L1_Q1<R+4P)'
M^1:']1V.X_%Y[/WLG!B-0D^+##D76<SEN\N[ER>GNF4O^5^T.RQ0=3+K'FC8
M0N&@-*<V^UQH;GL.&_7)+(HM250 0IO%7/,,EWD 5;$OD?<R "E>[-'J6CO>
MMNIBWR3O9]#M$7.YIN5_&R[RX//+5Q:/_$07PM:B*>P;YKT,2"U,M&DN]+(?
MGK5M8=]4[V< [S'3A::6\9ML+/;2+$QR_/.L3BV'M:Y![!OM_0QN,V2TB2\U
MMT?F 2VB7W+O:;SO._FY"A=.SB2_65QQ>#ZP$2^I?Q:S8[/H5^E[F0+ ^-'6
MA4*E^U<&<+OHM_3[F10.1!URU:Z\M]UR%MAN ?V:?B\#7H8*;3++C.Q=V)0U
M@7Y?OY\12YA/MU=F\0^R3+=ET<=2:R_<;R<$;I%W<,2)_O?BP[D,QQ0\.!T<
M<394$CB*DG7?$9.$[[( W@S\H=>++42?%3S4BR[94^)S]8B7P[B90XFQ!R]@
M9>_/ELW"JV*F:S*]?H58R&:;2S:]XD'FBLZZHY7^-Z99G7;(ZQ'AV\%(4:J%
M' @REX!D_30$QZNKO&UZ25TAJO3KUIOS'Q]C+TSX/"8R/1OBZR%UJ5&M4-\Z
M;P#)-B_LH";NNAN:@E K1=##&\':5D_351>3R$[WSEN6+W6MSTG$>]GB*1W-
MU*BOA?RT$VQ-K]^! .! \7VU<R^97071B^)YM1_ASZN->$N#HBD:VY>U:%:[
M%DDMY%,\T:.[.'KV.<UGRU\2QA?H=9+T4SYU/.>^ 4 *\19M88]% )W-<\&6
MB!&94MT>W#K+?]L>]OTYUST=_S,KTBPGC]$]&T7AR _85H\?H][&JYNO8=\,
MZ$U17))!1-\(/<7CS*_JE,:]?\5''B=D\$!(RF/?+=@ARWK(#B#)VR:U?[%!
MV23_UY@+VDK8MQ=VJ!T \.Q5Y.="14(V%1LC4BJ"\AR*,Z\TBJ( 'U#95UVY
M*+MMG0+?6!'[#L9.30L0B$2LBEQ>$6=X%<474?:43K+@=#2*,NT2HJ^%?0]C
MAV1#X"/"-!<^9MP6NF#%?ROBEGDFS/M0FS:P;V;L4 OLH26K$ROEY8 Q_UD?
MV "KC7Y-HP4[)GK5*!V %= 4]RYF"\\?&U_E,M=$OZSA0!GDZ!RD(H@M4L@_
MI[W"8:B&?D/#@0I(<#E(_L6+80*8+WXZ.^>K*U]'XQO?>_(#;6"S=4/H5SP<
MZ @(NP,XDY*NEG%6V1"QY,Y;MC M5(V@WR!Q8V'H,3M43<GMJE)6<2!?X+ :
M*)8+#ZP]])LN#BU4"))$-B-P=V ?@0T$+M;TZ2BW1&[OWQ)4B%R<X?<3#:-M
MB\Y5GL[Q, #,B,P0J]"ZQRB_;1DS+@K7\71Y%WAARN<X$8Z\$$7, 8>0-M"?
MENS F#PH$8[< >Q?&D)_]N*O+/6 J0B U=&?MW2G)#J\#D$_XFC$V#A_"UNX
M@/DP^.RE0L[E<&*I*_9-H;^YV9_>M,6QZ[(RBL:O.;D?3DIJSX<7?V^.^]4;
MY=?A?T=^F/[*_YC%4CI%?7AU]#<SNU-H)_#A#/VZR&=9XH<L2436TM*D*O^B
M25)GUPKZ.YON%@H >@>@-'#\^MAK$'A(LS>%L4?N4#>H5W[HA:-^-JC:MJ#*
MXSZM3N<-*@ S*AO4BB6TNO@E$GBM'V"!69"*JE!*G9U3=N!';3%J<7)E(5:^
MO\JQ.IR425>Y^?K%BV-/'@&5&TS@ZE#*=GW&:$&9G<"TAB/>E=039P=__0U"
MNXNJ!V:U2?#J8P&&*\BN#PWM%<0>N;VWVH2\XO_$<>BS%[ \QHN#Y(^X,N?;
MFG"\_8M*R2(=8-,7-PHRD4+K\G649X"ZYP/C<C)A.HMOU_V *JW[/-IP:Q&'
MJ[>MXFN BIL07O ICK(%K\'_/8I"OI?+V+CT.VH3A.ZV%^";C8>BWBUY.I"7
MMMZ>BEMDE_SH/A$Z324_M&2DV6(1Y'![P0KNZW 2Q?."<7.J$V@#4,5RGU,=
MKEB6Z!#9L*X<+^+Y5VY]ZT+=:@6A'+E+BFX)>#V 32HX&5HJ49A&9IIEH>2X
M.XOM2(Y*?"+\W$:AR#FU<2>$X_4F-4_5!3ABAS<!9=-]8G2+DW5;A!P=O);]
M&,9WW%*L=$I<GEA^CI[9^#&R">H2C79L$TJGNR-::VZBWH0G-8P)/B+RT=TQ
M;EO6K47M://V<%] ,1E<>7Y<O#8JWK@1('#8*DZ@BF.A$/14O(N3^./2HK^*
MXE7@@4$]Q.><?0VJ2NX.?+M,((Y)H)+I<LC5^-EG+UR<,R_QD^'DKO*)=6^W
M4E[^-'@W$%O)($JRF/%_K!H9>.%XD#<CTEUN-829DJZX\B&F@BCP1[#$<IHZ
MF$O!2J4N6#**_469G4O"W"-7AK- ZUEOTQ9RLDLSE;75H#U>5 ;H0S:?BY3B
MDP=_&OH3?R1LE08,\H'Z<WV@EHV)T5EI;K!I;[!N\#A@^['==*P!!BFT_KX-
M3#M<J S&U73"[8 G;DELK^C5H??AV_K06U4=;-4EL)14^B-N0XKD716#Q3SR
M;-NAL'Q6^KHAR6+)--5''HWMJ%4LG3"LJ(S0M=G^F7FBH]MI"[>&Z(?Z$!5U
M!WGEP59M1(5=B[/I*& QU-?"'("RG@'&G:$:\G"#D%0;7" <J(RIU3F9](AL
M:TB=U(?4JFJ^,]Q4Q@U%EA_ZF8<5H"IRD+6\>U9+G%TKR",/3&8SSMH:*BJC
M\5,4C5_\(.#=ON;MAE/Q ':1<U4^*#_6!^6JA7Q0;MH8E(U@)N55R[:1P#Q0
M+9M!34,,Z2I@V-JV@SQP6Q%=3S_<"CHJP[A,.U-FQU,,W>_J0[>L-5A7P[U%
M(*XO)ZL<.EX ,$VUE5 ?+@$D!K(:D:T;Q%Y3S;36GQGI!AV5$7G/GEF8,?E(
M_+X^$E>E$56V[(*X?"1+HF<>C. &, >FH9. D0AO 7GH61):&X:V0/7L^49Z
MJ*_^R+)\^/[0\(147QK_UY]./ORX>FH<<T1#WQ G]5AX@X+;*&562Z5%$\@C
M%/:0MRTB5%; 2R\._7 J+@'E3P3)Q]*/];&TJC;@>^I!41%S#-6$ (PF90W,
M<57O%6 <::I@CQL#*;419)2=RHC)A_J[)^536EL#IQ$W4]3.'^(:;%7'?.MF
MW<$\\<"Z3_<L$!>7\UO0.2>YT*N[TN9!UK5=U/=_*GV7OYUV*B+!IH6_Z&RY
M*5/*<?KBQ6/  .[]0\C#OA]EJC\DY(8-*E-*Y5:!?!II1/44-09%%0K706S.
M:K652%QNL3)E];60AR. (-45ESVP7LM)103\+Q_Y!)!PL90!.B>- )VR^B"O
M/]AJ /7T0RX4Y'#'5!/W5$?>.ZO!9M4(^MD.C,C&H8XU3E3&HPB6]XN'QD[#
M\3J(7AFN>M((R*FTD/LJM]O O$BO%LUF[;-L!C5U *2K@"%KVP[RJ&U%=/TN
M?ROHJ(SBA^PI8;]GO,W+9V4LW4DC\&=3;5#60TT)L"T#) > J@9N:H/M7D&.
M5M55D(>6B91&X@*#['0&#.3"AO;BQDDC9 =^<6/P[ZN?_N-XAZ.OP#H_BHMK
MI/=L%'A)DN.?CY/U8ZJ5&T:ZX#K;EO;M7D=;K(A<M2Y3Z]23H@G9EQ#K!E8=
M_/0K%5:M8"%"I>R!A:+':OYT=<#O4E AS0P $:;XOG8LHH:&Z8S%S2>$3:0!
MJX-SW5'ASPH6(E06[N[/+)V)))+BWOU\,U.8XAF4U8#4.4L39$T=" 8BE*VS
MHH!7.74-(%'.,@!9$V42_@!>$U7>=0#S#6\!R+^SE$$MS%4[< Y 'V1WF$WS
MLZX.D'-G"8-:YX10 W  +)?!H-Q<B*9A?MT7/-P!58&<.\OL8\TY& XBB[(A
MEM>62W [0&*=I3MO2ZPE4&183ACOA-A:7W Y@BA?>LJ[/:8Y&509?-) B% P
M)D18E,<@#5?)AJ[#$1? ?V;"QC"NM*T:@[),YT"I V9$6%]'QEALFU0UH/S1
M.5LR27\ %E0]!AG,L[$BE&XZ1U% +(@,36X(B.FCR,-X[R=?S[GV^:GX21>8
MH*D$98S."10  R)LW;*7BG1Q%/(?1ZQR7@8>>/8M07FE<V#5%BTJWG'9YOLQ
MOV\L]X0W;L!+\Z@-_KUH ]7E_183JCV,9FR<!6PXD26[/5M6_@4)5FG5VB$D
M6^N"(Y6A+4V]IAO;C3OUB@1L)$;WP69B*S*FE'B/A^&]<!:+Q.EYEER;Y&S@
MEO8X7YLE6D1LK%KW^?Q42<TA$887N(W">%LV,0;MU:&7;V$'S'37F!XA/R"=
M$O7+]-NC6>C_GK&=JAG@\]A1/TB:!R:&BO$ARU&ILST:"4'DF2I)F!YO,&5E
MEZ@$.H9&[^DIR0X_32X^W2ALI!+1IZ8D,1K?7H[*S>;TR@_]E-WXSTQ.L]4>
MWZ*Q \A6V0%$(@;?2H)()\%5E@HLYE&<^G_D_)2N6UO]Z.<KV!N'/C6G3]RI
MK!NU+*BZM:*1/:>>"Y7$ZG!825$WDU8SHZ?]A&]N ]M>LTY]:@\0E9%7!D[I
M1EPCT4Q9A\1 >QO)3S?Z5>GN):<[#KU@U=7D-$UC_RE+Q:.F5U',_&EX+ER$
M,=?"L^4G%DUC;S'S1Z<Q\ZQ&K(./HJ?AZ))B=0=T$#'VI.#D/JW-<=(2N@2T
M:@S;=.NF*1WPH[)"-)(PJI>*CXUL2LV<H"16C4-)#KJ9B.K]$\>W(Q$\ZP?Y
M#&1MI5DVN%^)13OB1F5H*M*.ZD9H([F2*ODHB7%ZS$*J&_/RZ.F<T"*$.CD=
MI?ZSQ0K=1]N'F&NT/\R)V'4R@:II4:L"K9V W'#)YHM-K%Y+A>KR'6QK<&?:
MU9T,PIJVC1S'QA]Q\'(Q?PE]CI>0NN^YR_I#V#Y_E)FL)1WTE$WZ^,(73Z2$
M3I-A?.]/9[#,:>V;Q$XUXEJ!VD'<556X+?R:\__AI&3_?'CQ]ZIW<A7XDJSZ
M8K-PB<9:MH6=GZ1?OCL 075.D&>)[WF=Z;B<.+MC@K*<6*\:V+GV=7OG1G;3
M:L9]$OOEPTJ]OU$NH5)1*/1Q.%EWMW3XGK&03?S4?OBV:'3O$O?W "&Y:?QR
M,F%B6F%K,>[Y!"9R>H0C/_ W1V!VYYTM6L7>C7;1A_8HDE.(B_)F.9=!%NML
MKPN6#6)O%+NH02OLR&G +R)N7:3T^2.7I)S/DOLH"*ZB.'_GQUH)[-O$WN]U
MT8.V"%(QX339]74F72/#MO:M"1(VWMM[=.*&\9F)#1=,I#$(IS>,[S+6SO//
M7BJ2VH*W;ZT:.X#G)SJ 2&6,PU+J7[#4\X/D5AQ3"/M&/O ;"05L4NN7GQBL
MOW',L=_[DGX71^-LE%Z'DRB>;ZQ1R,JMK&H:Q@UU=S*:[;-DF26K)G!#OLE5
MZR ?^>PZ9?-$S9RV$@W.P'K9O,*E%FV]+^B7M"1.*X3Q?]7)XK_Z[5Z\C'GZ
MZLMHX7^O_'E/"=@6HK(31T'Z,YL_L5B#]:H ,MK;J,D1775U8_3L&M+/?NC/
ML[D.U%H1M*U9';0&I%)9W&RP8=AZKT9LMXN@N;W,V,ID0<7VGU&\B0]7SKZR
M<OL[#<NDJ1R)[9J$6V_.N[_5J8MH[OFR]YIX>4UQ_+E:K5 5_#42=)S"%:[X
MQY=HW:?':,K$PR7*^434T%5 RRNO1Z[I*S=+3>38M)$3\FSYR#^JF(XV%QG4
ME?9T;H*(5C$,2'$F>JB<ME2"52O1X R@BR:VJD(Y,4GMR2JG@497E9/@2C93
M1>Q'-@!J6*<+A@7=J?&,A:/9W(N_6L^/M9HT!ER/DV1-OHJ93XO"53>MI\M&
M31H40I74R&!=/!JSYX,7L*2\=7G+4M.<J2A.;J94J&']J%<G/)%)LOD&H8DC
M=0WLAV9:TF2"@"Q3G^(H2<ZS6$!CP]=V/>S\'&8G@Y$O&1!46 N"Z,7C>GD5
M\>UF]I1.LJ I@)E$NV:P8]E:D-H&)RH<-_K)9_L6X[):"SL,K8]AV42!"&'K
M%T)Y#]4$;9?"C@>S)T0F)34"1/:SA&]B1$XUS89,51[[DDX'4J224Z/GWGOY
M[*4L]KT PLYV<>P[,AW(D<E-A!ME'ME?$L;7S!M_H@FK 57&?O#7GC<+3(BP
MJ'T14<V?H1KV/MF>.1 .!_#P7&-K>L=B\0MORCY8'&)MU<)^L->>;0@*9.)3
M-UD@)5<I\ONR;%S&CJ[[OA65VG@*9]6D"$LMDU^+J/1*LP.O:'<=E7I\_&K7
M!Y;B'OPU9X&3FXFG$[B*^M&X>'NA\GR3Y@P3W,)!/')EB5?KN9Q;8]UF<D5\
MP^IN]&.47WK^KR(% H1O41U<&_M$IAO95J*2,K36]RM2_E/BCUFQ^)P'?*;U
M)S[C$!3I+B2/LF@7Y@ZM8I_M]#+P^P"6B(ZLDF#<1ND#2_D2+@ZOKL-S+YE9
M:85M.]A'2KWH03OPB# O06!+FQ^Y:$FQ2&G,=+M6L,^L>F&]#7!T.;]?WY:]
M'G, ^?3EK1]AR#'A8DCM?Z'EY7G#LQ>(U=%*2WK]+O9QFRN]<D#.(6IBX6@I
M2FY<,+O21^77L0\3Z6FE@:A#U\VA"*5&T,KRN]A'I+3U<8N< ]1$I:-@-PJI
M^3SV82XYO312=8#JF>=KS49I?I!6^?-NM%/]=>S /G+*:2+*45K47D2X%5NU
M^8*E!6C3F+&Y8N<B/NKXF^!S49JZM0.$#G:V*RV/G<]SLN]"U9#H^?R.4&KK
MPOFY<.&$;"J2TQ)PQ_<)5"7IWLY56?5MJ#K3=C'LCJ6C2F^!I0V+[?U#4&6E
M[0=QA#^1=7_UYK%:+38EH'S2]G#4)29"1$LUJ[Q9O9OA;OX@5$T.TF$!Y8-*
M-)Q$3&!NQA_J47"KI@;5MJBE87R3H6_KB,=5KZMQ/6?+RK_ V1NA+=&XC-U/
M1)RU\%3R/4KZ>V-.^*BO18/8MJJMF.SEHCK* -D'C?IT%\H*ATZ>RW22O=!6
M6 O&W$" JC2H-*@F@+&:6&YRGIV.G\55Y'%^7Z%X%>LZ% \)7X^]6?29BSO*
M B_FO]-F0K-OADJ4L%$'J^??;=%RY"21=Z<%4>CI1OLGA4SRS/W-6-QN#9(F
M,,9(F'E,8-P[I,X2&&,DV7TK"8S[/U6BE,"XKVMO^4V?Y):]Y'^RO_36J$_D
MRIMNAPN[X*9 !O.JLNHM79T BEL\"CNI75,$C5HEZ>VE)#6<\UM8PTEY-Z=\
MO7F8I4GJA6/>??5 -M>D<GO-8@Q#X7"T(Z%UQ727^Q3M.-O/"Z6?6,C'O'#<
MG([G(H=/6K@KC+D[C!6I7 RS&%A , X@@4=QE_4S2V?16*0)2O(7W(8O7/YD
MYB\VB2S4"F#1!)6[7!:J8 T0D?$L\G"E[(8K+>\V7P^F_MI9>\_$Z0I?'T[G
M49SZ?^3P%\: YC9HZP:I7)6R(+TC>%2\VYO3G?6595G2%VVVEQ]UV5Y$LX.\
M757B%Q()7R07M@'/#^IKH8YM'9N?F2>Z.AZ*@(TL%H8^+W ;B;=SBW^>>8F?
M&%S=/7Z"QDDG1 ?JLT!_&%!QA?<A4F/R=*,]-]2<[;V/.@?J=D//;;\6ZVQ9
M"B$,J*N8_9ZQ<+34N_!!E=^8>NB@(.+S7_=5UE.3UQ]4F1CG9MU6L:D3DL9;
M%[*N)FLU-CVK *N-?99JH;  (E7H4-D:;K1V_>-_^2SF'9LM;T2Z4O"DK*U/
M;(RZGY>U:+AQCO<SFIL=;S-):YHAI@H@Q8<,=+7$Q.;NZW"1I4DNXP?PE"VK
M1'&F-NJOBDHU*M2FZDI/3]KP=V+)GS,WERO^3O:&OX]M^/M()6K/%7\?=Q)$
M"5D!%,:/J ^O3FS!Z]OVL0.CZ_NT'<A4VC%0"8A8,': MR/KL$V7WTX0LU'9
M4F!KM@CAR"]\70P7"_;Z3]?DC+V3/6*OB]EBP9Z#C$C.Z/M(E+[/7OR5I6+=
M?A!+N2%QB[PT<D2K$T=5C5(=3$28+*2WRM:NJ4)F[^Z05"-BKG<6PXDBEO8Q
M.H_F\RC,XW!-%BFT%3+;>1>4MD($G>75RP$=*-XT06:[C\EO'5$BDW,%":L9
MVE0/.V!V%],T##MZ@73G,W$7*KD.9>=@VD"ZGW2!=&6S S^LQM15FCX&TKF0
M1_[<AVP26NGKDFOZR/0$=L=FJ9C>\$BY7G!L'4V_*.XQI5Z<.KAGUA2$C8M;
M5%=1++LUK5CW6[1#QEX':$)+$4DMZ!2G XNC$_=&_HYF!.F!2ILYX3*LIS#%
M-A\4K\MM-C#<F%J9NUISXF>M.;'^S&#K.X/B0X/\2WFL_NI;1_O"J3P=+&E1
MO]@'L=$L]'_/V"YB]]5?)>;9W&TXOQJ60XKPETC9V,_M3.UN#O$>@&E0[T9U
M;^C=%JAL>7-'RR/_HCX:55WCS:J+&A(B]P-D'31%G.KJT&#:I+L EFB%8-1[
MF.<SN(O]D3K3ED*V9DWLO:U9!0UTJ<!PY'EH?#Z-_:\&,D1%0#WL[26<"J!
MI X5ZOW->_IK%'!X@SRS@-U(4E3']A-U'DY:6(A2>>\G7Z]BQJ[#E'&\TWLO
MM9X9=6U@.X(ZDVH&B"BS(M'+*&7C1Q:KD_0IA);5Q<Z!T9E)-2 [6N_.HR0=
M3LZ]A9]Z@=6*)ZV)_5YNMS5/ P;1 26.::(L;#5%RNIBORO;>4"I =G1@"H2
M&P$,$9D"JBICOZC:;5CI(=D1+_DQ04M:%'71'R/M1HL6D1VQ<L^>69A![':9
M!,K:Z.]S=F/&@ J1M6CEXSH-QWF&S*22(K,ND7I5LFN%2@R'8R] ;9%K@_0>
M*(DP>MLI1E$3^ZR+H#94(26B 2U"%N"S1R^-8Q_4(>E1C\0XLA9ZZ&%U@ZVP
M*GK_"O:AX:[UR0F(2L5"#C6ZBZ,%B],E!TWL:Q:F .7OOM5%%*U:RX.&UNW1
MB!I:]>TNX*M-55QSZ!"@*HVG*Y4=!3]9:6J!A@\5S*7R=4J3G%0"=93];$Q?
M%FI[0RU8QE:#:[1"!*42NJ+LZ]G2',4"JGS8E%8E)1*GHA80$+ "JDR#4@O5
MA;))+YIEW363_Z%1$'O_;J&&DM<+)#(3V7'?<,.:S:)@G)O^JW]<SQ=Q]%PD
MEC)1!6\!^^F)]AS:HD2-W%9\=J#0F1.]!PK)LS:<3/P1 T^5BN+8WMGV3&GE
M=\/1@3\L:V<D'A^4/3XH:_WH:?^&U_%!67?.A+U^4%8YF_V2L$D6W/@3S6$<
MJ#*RYQA^+ 7="3:1:7VKE\Z[>4II/\51TN:<IZQ'=JO9FOXM0(B,XM/1*)MG
M@9>R\07C$(_\'&#^<\!RI,/QUO-N*MG4//?W!6RG;VN-Z!MD^UGCYV+6"-E4
M=(+RK''+VCBI\EK83MS^9XP*&/3<JO7W(+4NU0\ZE^JFI=7CB22\J9^B:/SB
M!^+QVX:L:U',GE7+9FAX637O?H+]K.8V:.S06_&L]+J:I:;B=]7TM#%C6;V"
M>T/7]PK5:_@SN#?T_*^:WIXM/WO_C.+SP$L2P]M6-HT</LU-F8EX9C5]WO3X
MUIL;O;36#=$@O86RPUF7"T[#BWLM-@HCEB3W''8.V8RO7Q<B&7L$<E@ JV-O
MPUNJ=XUB*ZR(;,U%%KAHOF I.YW&#.8UU-7!OD/=#Y-F5(Z^J1TLF$?OU-$[
M9>U!Z7]J.7JGW(7KX'BG%/=*KL,QFRCG**W+2=2'5\>^KFBQ)Z]>YK#%AXB-
MHQ'7X#XRUR1LN9H.A*&PD&<1X@N&U<9V_CAA<Q_'9<69575:M1JIRK:P73EN
MQJX!.B+<UWM]R]++UU&0B<O*JZ-RW;$"I#;AO:B)7QMXZ#GMKK)4.#,JVB?N
M<(8)TWKO3G3>NZ+)0;7-0=GHT8]';_IN4G_+5>KQA07/[',4IK-V1A>H763C
MN@]'7S_0$IGJ[83Y!_/BQY>H+_58-X=MJ.]>+6I([J\V\.^WLNP-#6(;^T@:
M4463ODYH([5,]; -?,<,RP.W[$)\TRCU EJ/]O -3)RQ<:FS^HBOCSJ;L6QH
M92<2"?BZ\Y;"UR%N%^8=] + FSO:2LBAO0)CWC_.8O#HO;+DW/1 EZX.=CB^
MF9QFV*T! "*3;-G1!X^+)]ZE\I-$).,!DJ6JAFU6M29,CP,1SO).BEC=UY&?
M,*Y<I;A&UHP5L8T?>]Z 6!!A;IC.6%RJ6B7+EI$X4SULD\:>-Q@21&AKP5AW
MLIP=0+:>'$$\]7&7#,?4S.9S+UX.)V4^W;/E)Q9-8V\Q\T>G,?.T%N=W#8NS
M:$T8G&5[@Z?E8-/B0#1)P_0L^W?%]40DX1-Z\,5/9^=9DD9S/DB-9BBX <PQ
MS-GQIM-8W$+B&K-FV7"C0%^+1B25)7^UL:V7D,I] 44O;\QW!<PU:; (T4\8
M=3?.;P6 PHT>.()YC.1FTO,"=8"BIOC^$:27QTWT/HP4-JWW21F;+X10%\</
M9S0J6)4-M2!XP8ZG?';F/5%'5O-"]3*8R3B,RE,!7"Z;HPB]>R9>XOD2Q<%8
M^R*$I!S:SLD&3T7?2>V1N.DQ8L+Z$,B))\?.EF<L',VX%?Q5?]O+7'/_%@"P
M:&["UWM@;]5-T]4M<TT:[$'UT\A@73P:-[+R<[!2(V^9\0:6HCCV@VQ0-90=
M JJ$ISL_FA,2:RO1&%?]S(J-I,,?J4V(D&3#VDHTZ *HH8DM>DF%-Q94H[.F
MB1!0E=RD:,R?"<:#R-QH.,&Z#LL85Q'@P/]W_.B]MCZ-E#>&[&"&'F_5>.Z
MVP%D?VOH]AV+Q2^\*?M@,4=OU<)V7+=4! @4!^&C68<#7902E !IG3/?Z\*!
M5@VMW31'G\PN1W"C9^L'G[1#6%<->2[OYHX!0=)Z*"]8[$?CA]2+4QH3N%K6
M$L9[-HJFH?_'9IZPU =).]B3O$,-4:*&F;=1>:]Z%(N4_!=\MQC=Q6SA+?.4
M&CDNI6"RO7%QYQA4%SN>J273%A(Z/5??ZL-ME J]8OZSPF7>Z'6]!G:44E]L
MR)%PQ,$%JWSYGDVR<)P\1FL-$$$\BT7@CXKG%Z/A@H5G7N!Q>U U=CJUB!V\
MU('#'I \@.RW+FRNWT[PG_9QN*@*\7HQO"[#N@;@[*+2:/15/(3#M5[D^TV7
MY9;G5KP5G?K/FSEM:Q_U0V,?56GHW_[UIY,//_YE4#2XWD4-UFVB[J>*7IFW
M3?5R1/*CY]&RY]&<J\*,A0E'\UJD(F,W46+*B6O7"HU#:CE;ZLSF ,&H!+(!
M>]TX\&E-[ VU0+<V:MV.^AMZZ7'7,4N%BHN.1Z$PZ_5^0$.U@R'6(">1M+>U
MSIF\@HKB-$@#*:3D/4N)0!U]@8K]SW A %''R(E"M3+8YSM:_:CN2*2R.=I'
MBDMM49A;;/EE;RV@JL+81CX86;VT[B$>AF" *T6Q/<UMX&U(N@/]?8G VKLI
M"@3W9TK@-B0EXK#_(C9UYCS?M6+0>=G9<2R( GG?7<(/"A9_%%MQ\?+-V'_V
MQYGN*H6B* V#HXN5J)8-,0MTHT?B#.F>!3FNR<Q?/$:782H.6307+:P;P;]^
MH55('6,FT=S8D8\S/Q[?>;&XO:I=/60%,9_I;*E?U15%+3N1]>0L2_A>/4E.
M1WR&3OP<5NV&6%EA_R<YDX1$ F1E_1,_<F/;M"$&5*5!HT$M 8S5Q'(SM9V.
MGX67:IQ'@15;2JYC(KW4V)M%G[FX(ZZ+(AQ0._'9-X/M# 3K8'4R;(L6D:GR
ME,_U8S_(A$OE@7<USO,Q%&E@V;AP?\T765H&$%YZ<>B'T^2.Q0\SCNG94MZ
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
MZLW,UXW=6&/1#FC#C& CF+OH"^_(#(H$^#47,#4=N'_<!O3@QS=!/\/D!PI
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
M(#\&&LO'PZH$0HEP\.,=P]J09?P@/N=+0G T*JU[MC8'UX]&HY&'P$OT14&
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
M1NK"2%T8Z=^^Q%_38[6U#.GH0."FI(;] I[+IK4&Q1JOYA:K[T'(8@MJL1/
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
M\#2-L+_.P"9-=6DGY;V@9%-MD)6*Y:,HS9PY!3\@XME!,.#H"@P"^BT9CA4
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
ML^?!^8(Z&OT8O,$>9IWGKVMIVS [/<QW+\]/?B,<RM=7;]^\^/]02P,$%
M  @ N8!X5)?+F1T72@  %2("  H   !E>#$P+3<N:'1M[7UY;QM7EN__!/@=
MZF5Z @DH*Y*7Q(X] 6B)CO7&EO1$V>F@,6@4R4NIVL4J=BV2.9_^G>UNM5!V
M8CL4Q08ZED36K;N<>_;S.R]>7[Q]\TN_]^+U<' $_P;XOQ<7QQ=OAK^\^('_
MA4]_D(]?O#P]^CT87?S^9OA?W\VRM/PY.-A?E,%%/%=%<*)N@O-L'J4A_R$,
M1BJ/9]_!@_#HV><^]SR81_EEG/X<X%?-_Y\'I?I8/HB2^!(^FJBT5/EWO[QX
M=7IRX;[AP2R:Q\GRY]O>0=\MXO]5/*7O?OD^'1>+YR]^P %A#\Z^YNSS^/*J
M_)*3?_'RE^''JW@<E_W>P?[>3R]^>/G+MUG*W3Z(+S_[P].W9X.3W_N]WP;G
MYP,8=/#K^7#X=GAR<5=7]"W/XU]54<:SI?PQ3J<*!]_?>Q*G7W))%Z^/1RTG
M%.R45W$1?)],_UUES^%.O3C^97"9*S6':;SXX?@7O%;?Y_3I;AA,HU)-@Z@(
MLMGW__'L^9&:J/E8Y<&C@S!XN/\0_@N#T7' U^*TS(+Q,HC2:3!6Y8U2:7"8
M/3B*H\LT@T5/BK#?.TXG>V$0!>_*Z"J89/DBRZ,RSM)@QYO3690W)Q1D>5!>
M*7_VA]E\$:7+YMQQ&N]'93;Y$%SD45K,5!X&;]X<XA:H?L\;Y+<HAZ^4P>"R
M91OV-HHP-I#6?WL]/!\.1D!=3#9 5VE1S>=,O,%<Y9= LSL-TGE+']2/&V@]
MB,LBN+G*DF3Y(+M)892B&A?Q-([R91@<'[T]#0:3?U=Q$1/I'EHRAD^!P/L]
MGYI'U7B2-2GT)BZOB$SIYAQ/HZLL>)LE:E(E41[(34GE@^Z[TG4#^KU%E1<5
MTC4,#P.9BTXO/4O@3[#6M[(]<,N+:@(3,M^:1TNXR$$$OTQA#V9Y-@]*. H<
M#O\-F[=1!NMF*?V><(AHGJ67 1]8&,@:^-;2=FT6B6[TK4,JJ!]\L,BSZW@*
M(Y9744F$(F<,9)\D(#>*2@4WS'<+I"@@ULE55*C@X:.'X9/]_:"X N) T>,^
M_7U>("$5<!_F0$%!@0P^#!91WN]=1PF,^;?]O?W]@V !LZ$1PI:;+WSBD,<@
M(=%@ ^JCRB=Q$8T3A=?_7VI"]ZB *UC,H@E=1)C;1.5E%*<!;**"R:2JZ/>0
MB+-KF$ 4%.H:Q.!2P86&&<49$#Y>/[CRP#NB1+]%P7[%$X4#_NW9WL'#)W;^
M+=,7<55\AGP$7:#]H=W-HLJ-OVCZ%L'5BG.Z7BKPU!=B]D"K0)YC=14EL]H-
M8A[;? PT.;R9,7!E)',:!/2[%*5IJIC>46+Q-/#^1ND$98!1KM1'N,#II:(7
M&,*6MVOR>XZ?;M3YW#^2RS1WAR>9Y<"_<SIV^J  6BGJ!\_: I@*\R*H%DA,
M5S&H&_#')3(ZD EC)BM4VAP"FH;,4/%I>/L"2?%:L8,!!DWB>5Q&FAOKOY)6
M-9]7R&4;,B1L4K^]%*#U357>F/W6"%CS)9V<_@:$<H&$^^KT?*@Y%VCM*C?D
M@2<ZK\H*!*]1<XO@"LQ7_C9*<B X^AZH%$0[^"FR5/P^FL(S, NRF^+GC=J]
M#22(@[T -*#!8I&!>84'W>\!!?@R#R_]D5ID8,AE^1*UHKW@PN%X>/9HK_ @
M*X0MT$5$OVN&J$>H_VZXH65J_H#ZE9.)6I3:)+.+8-L):9'YL,J)]>(X!1AJ
M2/7P:)9/43BSA6G9+CX+5#XELQ7&5K G\#A\!QXCQY#1W[?\;LV7])#(VQ%/
MW\H=_HW6!XO3I[9A*WNX=Q"\>/?+L6C0+EL"X^P=L*!A!)>^QC'8; 85J4K1
MY(QG\83]6^0_ LWH,B[8#TL,(4L3T'/0;57"PV!I)DN^Y**KP3LEG!(<D+SK
M]WS5C;4SM#_C5/N>8'"6E7O!P)D9V JBM[$>=Q6!?F8X$K&>$-\Z$<M@-E/"
M,@-O*3(>*IU@)%_!%\;H0YY6,/=)5J&;N8"#@F\"@VPQ8%:Q/A+^6P9WAY;T
M<.\A7A-#%.="X71%-FJE&WAX.]$N*E+&ZR17E/G#'+1L\IF-L^Q#4?-FZP?L
M<=?\<EJC8H[GZ_89V']Q&B7&/:'-NGZO_G5DK<@>U;\KTN/$B]&P^X)W:*N2
MRT-<=F;L5@.W;<'L[(2IZ&FHW'M2<^8TFEMCU;%UM4U:(O?%\$3*>B$<7C:'
M];(Z1UY'_,H-NEU:N&&<P@94Y,DI^KVI2F!L%!CHSF_,7%BL2*%O>^&^^N6"
M!?R?!P^"5[%*IC\'9Z"Z/X<!D!(F^&#PX(%DC+PX.GZOI\'S?S#.RC*;_QS\
MN"B? P7G<#+F;R^3:/(A.-A[LD"IF,136,G%X.6;87 X?//F;'!T='SRZW]]
MM_\=_3XZ&QSJW^4=,MX$;,QH4<!<]$_/X0BGY16N:O\_V]2EBW,]QC7*U$F4
MZ$TMLX6_RXF:T1-'^@EG:+MA%T>8)W.._\$5P+^P%RW;,LY5].'!6,&]A-DL
M:"]EJ^#-M$_PLC-_%XD*[+O._-&=L_D!#X?/XPM2W99[K^;>X]V@WSO+8V2U
M&2A@&)Y0A1(3%#EP@_LZ_-/56EO8T$B<R4_V#D 3'JLDNPD]&[EF&/=[S)$P
M'#D%Y8T_!ZKCL!*8P$6& 16,V!;,1)D]FCD0Y_1T9&&X=6$3["A4O2,_A&*?
MZ_>8%3>$4L2^@6@,M[XJ033<I+P7[D1"([L6%2C4[!O'!1M?N3!X]D;BEU%Z
M$$_7C[!OL]]+54Q_=O<MS?).$81Q7-*[67OFKY<8<A+NC]ZO/,J_,:??JE:?
MO:1'9/A?H%7#/J2A$VFQ=N3+K9*\[DMZQ(X ?7[$<2>*70"O,GOEF\9KZ#,H
M0P$R@!\5%J5;1;X:6XL\([=!YF=5]H@\A('C(%2NS\")B4=3W#%V3Q8Z-D1,
MUGQ_2XQKOJ1';&X?52S36[Q2 R-8)#'(1.C(VP1J0D[!8Y;)F.JPTT&E]&E#
MAJ*Y$\]BCW#ZO0/,:A#Q2OXD\_*2TY(B'<")9BC!-?6)%TU/&82=-U\<E756
M&EE]7,2BS&#.8U@G_G[/4')+/L;0/GT$3S<SO;0,GF2P@.LLGK*$QS]RQ)(E
M?P4+RNN?D'./3$&M'O1[_$6?)\A+)@IS:$0WFB2B98RK(DY54029OL?>C+>W
M<\V7]&COD2\J&K?3^!+JES/4Q) M7%>)HPRS3EMS9X2B42?H5<&?,1X:<O;2
MDM, L[S?:R0%NFR@=N-#U#SA"BR2)7[#>&@]?=4D>,%%GB@8#/8I5PG0*B>F
M\&VU&@\JV/T>>I(>P-,Y>KEQ5459T_&+O> 8;)$I![_"CCW@.R2ND7;'2&<Z
MEK933F>SIA3>#7;B74S\,G,G-WQ#P)K=A^]-*M'6R8AH.;"<$E7)/QY5Y566
M \6 ;<"12&2;99GEJ5JVLBR9!B@:\Z8Y RQH)X8)+Z(E\1:AC>@2N,TE,(S
M5SEH;R?$>.P*/2)%(TR(2&(379;*//I PT0+H #03?!MCH(A9X)&964GUMP<
M^%ZN9@FP3=B0(*TH;]V=D+;%[$<VX; E/S!0_\:T@1VDVJPJ@\OX&BE2@AF4
M8+OTYLF\>E=/F%]#>T+'*2^;P)(Y9M-]T.9*F+DOM&E.#^@-#X-YG%9%^ZHP
M>><RC9BB.*^GN6F4E^.-N94,:[XDD QL1ISQ525IT.^-K'9."EE76I8X6WSC
M(NK6],0MW'+?Q#<]7FKV"=<#Z*R-A8(00<9EPHI!F<-FP7/('NCV$+/4Z<$U
MGHEL0>6)><^*686:D\6[3/*:GP$KFE7H6YG5!)5G"TD"+GS)XP01I5Z8]#77
MSV0W:ILI=&>6A,$J5/&3Z :((H"#!I$IE/$.K&4XS5$)9%IP4AF'K.&/DRL%
MU "T<A/G1%J4*]Y&\9B:O5%;MHE4,$8WKJ1!B/M"NZI_VGL2,'^[!_)P=7#L
MX38XM@V.W6<^@0H7N<K.C('*?OCW, ^P+I?;!)4[L"24^0,LBW)]"5;OQ1!9
MBY+K%E2NR"USZAGR7%UG$U(,D$;$1P=Z>!F7&"B,@C&LD51E6WBIJZ?;-6T=
M'C75#"JEY#IZ25O:![H7<:);HESS):$*TI4UM;4B/GU).-N_Y@!CK!N%AU,X
M1+SIGINM,*Y]#NE/LTG%%2A>+E9,[ ?,"J^"K\$'"C0Q,6JOYHO$Y.9*9""#
M#Z4RM=^[N5+T/A@RS<"\YQA G >S" OXR-_3-M%4'%+UV5)^+Z7F&B<E5Q;
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
M-E.*XJ0ZFFL*5B6SC>.LXAF!;UY6F!E:*HU9'<"3ES'2A7Q"R(1<2H^;9S+
M2T5^''DM+[M.KN*IL>V_Q,=E'%-=$.<N/M;(9*W56QAJA !Y2&UCH>N^)&1L
M#YFQ^3Z21<3)[*!K)I+>C$4*Z(^$VYDC<YF)U\YE%ZL@\KUNJ"T, _[Z0Y8W
M-&Q-TV[4/0)JG=LJ%>):$^X^C"LHH_G"EN66T4?["T^>-6;)%X[GB#@];2VL
MM1[;3UCD'FR\+7+P%Z=+'?Q=KJ54XJ8W%P [TK*"&H.A5*5FXUJ>O'.+,9GI
MCT^2BD38=49.?PX N3W^@BHM8RJ/,+VL0*H _<3%E>40]=R*5H)P,B^,;'0C
M7")Y>(4M.V0F0'M#2XMPC=U/$-??,JUU7Q(RK4?=VIAC W\R>^)0$*4\BW=
M+'2W\9$5@0IUGW1"DM\X6\E#8;]#.>.U0@A/3;-/>H-OR6_-EX3D]YC+*<UY
M<LDX,[@6$"7#RAR-6BG+_@38M]*Z6*L&[B$+NRD@#@A$'?.T':&IU%6?00:,
M^3)RBH0M\W=HG',+,-O1?IUEB0Y14%ZA^=I8I6H6DS!H8K:'NK38EBP@7[Y1
MF"=CC8^INW;8R>VU6/,E/>$LE@ML4F1:#[^V%9DM[3Y;8V'6QC0M@5T:# E)
M3!DFRFV!S05H:W>N0<J)8"D!Q&F"=VM5G- GZS64B?(YK:':+JK?#*K^NI5]
MH0+;%LIV@_J$)=1Z-<'94+,F;0-K55[W:&*X#>8HG!/L7'2OC%AW;# E@(W$
M@4)S$IT_/$:GN>G%9."2=<06_^[&?N_!Q5\=!7RRC0)NHX#W6[(\\K!'*;TI
M&%%&5DUHM/<%*?17.QI_AH&8Q!;JFKLS:[0(Z=O*E<^!*7Q&WG7).'/L+3#N
M3>U-G;G^3$>A"35CSY7)[>CNHHJIOWH0>F9&2'DTXCS##4EA,ZT \0JUS72+
M4.,UP,Q6>4;K^8I%YNY@K=P;/934)<+TR8#9-%(:GUN',;R%8ZDL5^-&1;8U
MH=QSF[FJ\)C@U2B26^8Q)YTE"O9MVBKXK5TX03&<U*K>L9LX[;.[B^V;;K4
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
M0-G1R]  AL@M9%2'$LN,J=NY7#EL[%ZT)H%M*7[-E_2,VX@-#)0IJETW-NM
MIU:%C) /%",Y-115\XL$6E(-ZCB EBB)@4NO32K3H]A8(:) P,R[,6%T^:\
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
M[_WZ;H"YEL/A5C-;\R5QO8EFS()2:[N18:=;9J6ZX9$)'U$CVC(+WK- T)C
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
M)OK(EX191N(1+T?K]JSQFY'X4=$S"L(SL-R=T""98:5NB@[D"O2<BARJYN3
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
M2R6,\SI5D^!-;FJ"/4;%-.%/=(OC!]2@<3ZIM(QY^4D;N$=0%LX KCTJ_.$
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
M8D]^7684'0(? Q]$3<& !_&24UB^QY?8DFD52NM5T,&^7!48VQ1-+;[A?BY
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
M)ZG,P5XR=J +2Q><"6#0,5USGIAO,[C46DG.M5?08L94+_O[F&Z) @&E'4M
M::H/PT:6K!1W2 B6QG%D@W&A6($MUN";F&3OV60QR\8:1,HIP #'%"4>5U,@
M1#A2S#1D@= C)UA?VE4?PP1BF)"2(1'(QT^U6>CMO^H,[L.?X/<"+O/\8QR]
M'AV,B(';S3**++\JJM?K;:P#UZ#(:4JO#-NWVUSD'9<'J4?L7W9_1)3%@J[6
M''2#+>R@PZT<F>&_@Q<)3F6;;R["B5MH1VL%)5FW+W,PO#Z9"@14#GP1Y]JC
MG/?1+3ULMQ[NB/$RQ&R!([1%#TQ$(S#/>190%M)-H?V=*QL6M3@A1X<WA#X*
MU,/:F6ZT?R@8:#E*5O>=X]M,"TS/P/58AT%KG_0-],SBU-B^6,P]T9E-5U[)
M+B=U+I@61)14O.=-?G\GTZXGJU5@F+9[XOT;#@0+8HF-3:R^11?3V@XB>LYE
M/Q;^HHJ]?V&&*(DB%Z<BQPCMFW(9B_?-$OVXJCXVOHQQT!4%" (U">0SO*UA
M!(Z]EE5FZ@"Y- ;G;L T;U- Q,((O%(RB-LEIFE77AIN^0E6DEZZHCM!9O;6
MZ;:;_U:@LD87$&PPVK6L:N?,8:BKKJ<&3MC9RK882D&8PVI6E!Z<2 LHATE4
M<+QH$WQBF\"UYMA(O!HM=B<.!UO+[>#RZ5:[**42DE=OBUB%/0\1][YJ[7(\
MR7]L>T>8L\7/X)ZH"M2PR8,L6X3N'UQ-CLNN$2\6?BA,PT$ABI)\N\*MP<J@
M,_SZ ["=:W<XB*F8P5B'E280D&P<ORV?:R^$#I>.$1BVLH3SI9MTC(YLD/(_
M+KO9U/VQDJ[?)QV$B$OOG7\S=7%]5/?'353W>J.Z/VZBNAOWWW593_='L-,P
MVO$"5,,#KC:T'[WQ4%]8C@0U?I.)TO9BH89XABI](LJEJ&$KR Y6VF'LC6ER
M^J*T(>:,\@HXBWT1:.F>I=*TK!5I2&(/YD_F+A:C)0X-'[ ?>XFRV4+,JD*L
M%U CT+<([84P[H??;MOWA^,AZ!"ZZ/": >UOQ.%R!#7;/DG;*7F#A%YOA9+5
M7Z_/L76I!(OMP76K:JZP5]4=8NV6VBKN-,_")&1<VREYB6)0K#6B\4J%P4AM
M)/VP'=LT0$;R..;Z!"YC <'"H- 8L$8"K%$Z]Y(*SANR5PJ-O((]EF\+U.6[
M%MD+SKD(2 7*-"I!Y3CT5,(Y18,*YBA)D4N)E7\FL$OG!EU'N#Q+F;EF_=N^
M=%/(75L#A$W'("T[L-2*$U:RG743;$9)VW!::;VV*ZV*J+:\.!8#:5<M.]_M
MPHGK7G6V_:Z)H@1\V(K]FY)>XN>W2X\[Q.3T!9-B[&-*(.>B@I8,,D;>JTJC
M'Y4@!48#+(WULB7*H\-T&J^V24&QY= ]FWL4<((9,*,-#93BK!);9+6AX(G3
MOJIX0326W$.M]ABH[S783;"7&$]?15<CW7NR\@TTIEMEK_?XDRFRMLZDH?U:
M+TC0Z4^(=BH\8,H;I>Z&LA$JYT3S@OR!I9C]U?4[-H[?+X.C/1A1@9<71MB<
MVG7FV&5O3K@7$NJ<II:=Z*DX9N?F_L9R+&+>%EL39%R3K=2V0)W@;-,)K 9Q
M,>-= +NR[KDP.6N&J8S$/LIPH00E&XLHNJ(EG5NW /="KA@+,^K2-"S$;2[G
MTA-^O3YKX>MP*!?A4[#<5=V9;SU!DSHBO:1".%-BIM?P84K8#J]KBO:1GX[%
M:P^E(T,-^YL810*=$SB\I1MQG4DE"$CN>B^HZ=I#(H,EYPST!32G1:OV=DD!
MQ?.W<#H-'#7^%+HPI]<R%W'G>R;D%^S9GAC\EDD0R)!?#MNCJ.^/B]K;+@B+
M8H8=9O4Q9" ZCVA"W-N48=3G1+.>*UOKW=S.4X/6\B]+7\7K(EEE5C=WPM<+
M1/J>@H&']HBC4/QNGB9) 1TZ=OZ\OPRC1%&B]C3<[E6^ZIO_>\$LO3<>7[J
MS?7&=_^;/EEOXA@7*>QV\9(;L4<&AE)R 9:AYGIUYS,$@80Z*8J$2TY)*"@W
M?@?&MV=< 1;D_T>]M.FM?:T)&YAPJ)";FS(KV[PT/N&*2;ZDH*SDL[6YZ(.$
MY?;?5)X8^#37NJQ05ANY?)9B=BPC8EDS"?B8B2\[O]OKMV\E;X?VNO-V!($
M?)YFJ;#-F6MBO/0)DCF$:BS#3JN6^GKR,2_.0'LY">E6O+>R2\>LM-BUS*Y2
M"4B&K!6Z0.5S1]1F4_PR,_>F4D:O:Z274N$+-GE8^JV#)N9:TH50 CCR7YY#
M@Y>2OAOF&IYT+F!FKFO>V)F$>C87[%<Z/!"]C+;YI<@XV_P-R*:P@.*EZQGW
M5BF6XL1^M6$_NW5M4>'A@*L*MQR=($E13"T]B\8>VXZ-U)-?+(0$JRHK6J<)
MRTE.*%X3<W5,:+WG-X\O<H#]GOF\_Y3F3O+*V6*QHTGDRLI6]C"Y.GQ"\T1(
M6DKGH!\H]%YR!<0M)?3^BL&,6/5YN6W\5@Y^ 9V.9F (DVV33K'^B76.1UGT
M<(<=Y(1@4)3TQ:XE?HW >3P:#J/;KP S\$U9!/'X'J\<XP4F%IJEVD.5:=B(
MIZ]T>"">[AO-\!2NW<R46N\_N6%QX.]O4VG@OGEV(=OS8_J/-C']ZXWI/]K$
M]#<Q_>MR@OS CO'#"KJVT%GTW-4KZNAJ<9 !LAMFK?94YZ7$U-CFTOHF:NBJ
MQB MO7XX\.HE4<1=G19![J5S__HLH&&NH9B@]'JD53&41:+^6$0:IQ,I*B!F
M2R<5IAX\">;'EN^Y4VB3>N*\1_09)W)(;H_/:V(0SUQ9D[13SK<U\6[VUU(%
M)<0MHW',">1$P5,UH([0JSE?AU)KX<<M+O2$FBK-B:VEYBQBRO-(MA\3K)=Z
MQAA;D^_>#4((!L-/"7)!,>?YYRIRV+\(BQ49Q0YQMSD%U!%VBM$#4Y8\"%2@
M"R"W34#OM/0N+]@.,%A#"KE63 +@RA?1=9O3; 8A:0NC=GZ#_LZ-UG6.7@9]
MJK?;6&$I%$718R)Z0S?!%@6#<\[(IC1]X0]D2'6(9H%F3[:=74Y8SI30Q +;
MI\G%9_:96&JV[>_W-"?_O,$Z^%58EBYSW!X%X\^LVF5UV$0RI)*EYT$)*J]E
MQ*I++ Q&0O@G5(ZV-[Q-,N?7(OE_)/7W9U,]]ZU5>HF;X^:,?&/77')9V>/]
MNH UE2)LLW3!EWEFY$)2:+ESEH%Q+/F"9\KD]PG1+5%XFMQ#81?,.:$OK._F
M(4(,&1;>-<VD+^_!9G#Z+N";9@MMMM[%MQY[_'[":WDX>*5^U[ E3,F5-B.J
MXQ$D\MQ,+5FWF:52?B,5QA2*_MK2JK.PH+8!/DTZY;A\RLVPU,&$TXM^+M#/
M59?I1Z*>+R8?BP;9>?BBS=28LE6+9IRQ#]$COC6%T_E+6&EC?[]F8I4JEGK'
M:C)!DAU0@ 4;2*$G8GF.':L0:%,GB+P@PA$LQZW.*M19$F)*8M?D29,9N%67
M)L747#<.*^HC/)46Q#24GJ891>"+6HISD"-S8AA#5.GBXC)%S%>J)1O?).4I
M*K_.RQ2[10I6"%6*L5X6N<G](L)X1SQ/;6Q-F02**L3:JNFLR&I*T N7MV9
MI:0CDX+#J [15SY-B*O1J[:..=CP(#MQ39A!/N\KRNXB-;7C4+'EJH5.E1_'
MR3]5F5^[S[Y/"H_"2P4NN;9(GT%IN(1W0Z=,G 8\K("17YS*\T7=!VWP2O#.
M34"I"ZKN8"MOK32Z_<+VOMSSB +#.A\H:)'&J(-+Y?5G%H96NI:S>5RLSIP
M?L"KE#M>VH"Q ::#C:<S#5MZ'AO8*YHB:19'/PFOP"%_'$<O?GD9;M0JA;&K
MDJO:$Y=/1ASLU'/R$RS=>U#(0KM2L1=[^R%/4>B\KRE=GU\*:DJ-1LZ"Z$S1
M=!9S!856J4%%R3G0NJ@]YBP/VJ9=94465V!D.696)32B<$_HNAW6.5QYP5$!
M(S"T<BZ_:6%T8.ZR\2?OJTG$5EQDLS"T"79!\U7)9Z9I?Q6I]QZ=.C_BY%N+
MKIZL3EKQ%6SH,:=IRK(8OG#NAQD/ 0-<Y,0)6YI):^J25NCH0;@^F 9[MX\'
MA,MHDFN@U-.FXGHM'%1W_2&:";?Q\:7!A6VA$18UJ2D=DNYD+LE.(Y"9E"0
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
MX;MX6S(PX_XFQ>V+VMF[8C\Z'L 1'D"[?I_;Q6O>9<<2?HXN\3^O(*3PB=D
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
MNQT9>,),+!?R(AJZE'/:5Z;;O&IJ2TC"\0)4/&3]@MS%E; 84(_84_]'6&X
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
MM*6['_MD(V%VJ$JD^)3CQ)H0FY-7&ZP&RD2X3T?\L&6PHNQ+#'4&T\?/=/%
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
M1=7@BS/EX42P#A+H3>*C1^V$EVNGAR+UHG;JIE?II22I&*;()_N,LFR!$"E
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
M5]O5C+_<FA]3JAG2([;/;RO#W-[X\U*:!G*1TU(@T]!L:L9>4NEW>&>T_S_
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
M)X 0O,--$F6D 'IHVLU[PZ<0*D/4#@\?%;E,,60Z#N+R'J0I<VFFC#N+Q@W
MY#F8;X$IBP\#*Y-7VKKEW7786Y7 RD2Q6[<94!9AUT@TEY![8.P'B54B+5%P
MVQ0'5I*->4/B%$#60&&8"I]A'^&%&0<UX9+V$\L\ @2NMM;Z+@;I9V5 &9J-
M2ZS!;2W*G7 ;\&C:;$Q)'5 T;[ D8 ZP!F P#\9@*17L6H$%1WD7O+0":IYB
MHCR!_ :BIQB37DS09]P8U#9(BV;2& N#6PA^38M"WFDV!I\B 20!@P+*A7FV
M2-0<M8@'Z9+/H"@-O[,!:=&MZ];%'98@4?-$!*8+ZQ0+ASX;:U6 8 $^L&LP
M/^'S;"8$"A\:I?E41FBE("+3Q0P!N_BPPT:P^K0R/1Q _PX1I5FP6XTZ!)_-
MA@TU9\!]K'1H=2W(TE 9"OX%=8>;HUC:C0![HIFSSRJ1L24//&TQGPMR'!PM
M*6#V'=$<[52*5V"E=IG>@ONWX/+O+?"<)T1:*LMHRH-A.T:2Y7>U&@JEP<(:
M,HWX#<P<(%+8\DL.*P=(=]AYH>NL<K6M*0<21,6L2.#&:^#5->F_+<'G",AY
M!)&(R)<!8V!P9!0(VF;JXV99U+Z\!BU(XZTQO1-N0UM-I7S25D1MU0KEWXLE
M*@<H2F@%4&^$#JJ32VF<C1$P+H!(P\57MC0+P8LI,%4T=<-B30>%BBL!86C'
M*8"+/9,I_@%=-%J.21F!9O.I(/7/^(+B(5@WXOF4--?;8BJ'._3 ;B8<,9]H
M-6,&" _K $'P UAJJGHKKN.:+MJ;?8#(KR'ZH<4F$!]^8XKZ(+C] L:0K&,J
MKH%W)4^4]G'NPG*Q8CU:Q^4.B?57P'ET+Y9A2[?78X10)&UT'(L,;@<YM+<+
MKE.PT$ "OXYSN>2_6DQEE"R@&P5)G,B4IQ&J#CBJ6'H/%ENIM5YIPJT 86BP
M7K10+GTB NX</6>F)62?'?8+N@^M;>5&?,IL(X05$%V@JUJ20_S)HB3"?<9
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
M1>CT75XZ5+YT@*^@.'6+L'M GEM\F)\=S3 ;VS_^.DVVC[_'ZQ.0EP;GQ'B
MVNKZ^]K&^U(L*J[M+B<,CSB/J[<FRT'"?%\@S#/95A&RJQC+&8\FSO_^^\^K
MS<,?<;V_,3'B+,Z+ 5BK^T>-S\<GYQ='>^>5Y:6CX[VU5T>L;PYNA!LO+R%.
MG+#E9%AR1.2<]Z2+$3R>HP+G*(Z<O8[0 ,&KL@[&H@E\UY6^#]^[*FC_OE)=
MH;][PO/LWP]>?\&E2V[^6#]\%.J- RJJ10J@TX8=_!9[8WA.\RD\Q\"]7O_'
MU!WEPZQDL\!*C@(WU"!]4YX&!63MA4D0Z_Y>Z(WA+!O1Q;=6O'/5/_<FH2>L
M1M+% *=8]G1XA2RG:!BY!YPKN]]BT;D/XXF]X9U]\+[5_S'%$S,*PKFEO?7W
M&[42_[-S]C\5SOZ%N#DR :8NG:O;A-VOWZYD(PZ_U*XF81R\%8"5W8VMU?I6
M=6=]9^N>AQK^1T_[!KCO>(">Q;C+WQ"?93R$V@E!2=;.7XE6D:=<TI/#5N&F
M)X0MQMI5_K[)4*#;(E!_TY=Y >YIC.V9N=GKH^-3K6#&/F,"B#KPA/:<H\!+
ML+:7\!>5B/=\$44I<^6EH;QD+" E!<_+1KXY6CM;.U]C1)BR#GI1J;8H$O#2
MQA!L=NV_(Q5S=\'UZ,586RJ8FL%H-D^ZYK;]X"0!B-N^"D:X\8O::\/SM(PB
M\\\7>*,V6GH]/_QT^?T_C?I?[N7$I-<1DZ_LUC>JM>6E\S7G, 1Y2?F^LZ_5
ME;RWX_[]J/7MP<<3?1%>!Z-7YW^O;7UK;?UJO)^<(7IHZI7=<^''SA=Q*1W\
M]MY+VANU)!(M3_0IJ/P@:HVQ-,A6\_SSCX,?W9IZ/DO#: !O-3$,+7EGU))/
M0YC;_Z_JC3>MQ*<GR<;7FR_-+[5);V1A]I5=4,RK.V.5JT6WV!J<+"^%+:>G
M87]53_B.O)$N-=(&O::%G4<=D!2=OU4/<.^5X9SSM[:G7#3[-EX,CY"68ORA
MW='M_8N=ZJ_W7R?!??/S :6^K];>CCFFPR'MENU\"5WAGW;"X%;W95M%M=/+
M'V=)X_T$X!Z<<V5W8_W]:JVZ/MZ$L^A<)G,$_9__>5^O;7\$AA-+7_802T[
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
M@C6Z ICYPHP:1.B6#KL.'"L)7#:D#S2* EX=$6GUPBA22!M(%4F$_,/LJ2.
M6>-@=FLJ\()&8D'@06%")-!6 0Z01R,"?3_=2+A0$/TI4^1SL;P$-QNR/)B(
MMTT$??-.!9^!%3>!O5+57Q@QG1MWUQ4)8!A'+>XA#N8IV'KM( /1<*8!1;SV
M3@BO%*X/F'!YZ1:N^HH$@5<G^?P  B2^"*Q0>J./;)[1^0"R!%HRQ P,42/Q
M\HW$US3?\3K\R^2R.H(JJA:D!WHFDQIBC?<6"3YQGFEG'(REC?0%UQ;"KJ0D
M#V<C)RJ,DCW@N@+)".\6FMX/@_8J_94=R8*L40 QD-*++.>_!4%X$T0)R35X
M"@UO'R<!LIA(M__8PTR<ZM;3#!> #_-98?!V$>G0L*/AF36Q!:V:"3!AF#-*
M@!OQQ'B[ " L%I%D%]-*D6/ZJJM8TJH8>#RN93Y..&7&#3_!=0]2%?!W72&P
M&4G9VT &X;5!&D8_XC,=*3RZ1HRD@15Z[9JLQ %#\QV:W9G7**0"5Z>R:CC.
M^<$>[2;@RH=9$$M>5H*=)1L  *4%@A50\Q=L';'A=!#XDNQI>$$!"TV))4</
M+2/^M&!P^*4O!> >HXP\9U^ZLML$,-=K%:=>K==HJ?"A2A\ M_*VRS[FVYZ$
M7L)/#%+1\E(0@E@-/(1O#-A&+:\4;V\O@1]<NE5]$((D(ST[/WCST-/FS;NX
M007.O2N!&8H(WON5*,TP^N)Z;7GI* #2:'?B3. ;*_&(*$JZ/7-R1Q%PCFNX
M2L.F A!(DG>1VO(2LA"DTA"%-YZL>%7R$1@^7_2H!T)')(NG+5,%"@+/74>O
MO$87>,'_"1,0;)EID!3I"Y=.98('S%<L-P<LVXVC$#A.(%?C<3&"8 \I*V+%
M0D3F'#G(;?CS(+6O.0=T'N'N&CJ0)&&G;,(9XA))C\?5EE^DS )A-E/?=N^U
M8L.A\_ -&E7P1@RIJA!==+GWX9>!@XGW$57(] KBQ0R?H_H&NEC*@_34@X22
M!;!>H$)0^SKAM20-D6D':8./4:+YCL_5[K^6;!H DM8FX-?(8E1E%4E.$R%&
MUKP7H7WO7Q7G_>J?Q/')VH>2 MSG15D!(+-B 1TCO($\8^8;UAYS:B/>$=8"
M-:A"KF%+EX@<3K$/(FH_FP2'P_7"NV02A!E\%=$1:J(9 S5A7\)1BV2J:J86
M'"-*H0I;,#C.+B6MKZ]MEX?GB7$/7:1MD$] %ATGY3_04'"G0N&D.@$>%U3T
M2!\@7OUAAG _?<+*O.=Y;_F@-_W!""AXMQ\=Y3,R?.4)@2(&JNI:'6CX&1"^
ML[6],ZEXSBD#.Z!4N;X*$/,,<(Q'+#/J&O-FJ/LH[>GP"ETH6)TVBB86XO5*
M0O]> -:G!=Y-^DB69S #MLOMFX2+ZA K7RVV<R/$<,*\!&5"NAW10H 2%9T_
MD!A;;'3O2HVV'/4W767E:9QY6,O3.*O DDV[J7S,AR?%"-04=$HBO.R1C$%*
MDBR9PJ\]V(L^J##M3EQ>@[,/:WGP9A78 6=T@($M+0VJ".EN#+=)AL[B,."8
M6KM@4V/@!=RC;0Q^BIVD/(ZS#VMY'&<5V#1X!8X6V5A,O)^12:_0U)>ZSTE"
M+8_;S,.ZN+LR1R=K0,+T,((M[)D+#IW&.7T.0Q$YJ@"N1E;Y4H40OXU,%OLK
MV>77>O;*JVZJ5UW6V[!-I74IK-N8.TM[RCS 6AZN605V.$C\39JP8-P,:33=
M0*((NHLYB T=Q;$/WS\]D.XM>]O1,0B7;S[&O)(9>;+82H[;'A6VN3::_EXV
M#_BY'(BW)P*OESF_$\WY72]S?D=0_J*$7^ W+Q" <4ZA.\M+84"1=-U0RX'H
MUZ&0G#3N H:A? \3_H.LE>*,_#[U>\XB9,E4(#DP&$L75@9C.M"AQ4$=RTL1
M+%^UX+QA?-&8*-:*C;>'3S;G##]2T!U^XKPR#G?%S#&X3<I(H@4G92,)4%*?
MB;Z^1ZY"(9ZH/Y1TY9B<J\K#DJ["%@; R2Z%N@\EYYG$DL>FK]F@V<$@=HJ^
M=>EVI/#9G(1EQ"@L\(PG&'Y.@W._!8IK-E/>9BYED<]0+M+V?F&UN8#9>"#I
MD/)"BN@O3^6"G\H&YK;>DEB#U,1IM3815QI9OF*_2:+!;^ 8#WZ%+1Z 0*T>
M@*<U_65U7XEV$,)ZW2A-_>U*S.DN_EAQC@)W#<ZZ\RT6'<?FL:@P,,<_*B30
M8*ANI#PE-!ZJ-[B4D="\Q0P22N\EW>1:49@B, L<9)9.P*+0^K/4\RM44*FG
M%52.+@Z^+B_50)_Y=GYT?'!^7I;=F,_%P1Z?7*%E75Z76[@X(><#'!^S_L:P
M_/$,W<GJ1NR=[/\[8_/&C4/)[D&"MB[*\F GC>^CO 8J,HI)=">"E+2\Y*70
MP,HC*[6V;.KFE1*<I"1C8P>#T=ZA2!@(OX_5($ F"Q+7ES" <)4'2IP/HIZ/
M5]+^<0-A/3MNO,U72]%A$Y!MDEJ#\$I@=0*X$OE%H4&("WU39B*=%J9108O^
M2"B-$1,R47I5((*" *I@W7V.142I%?1"5TL9P'PL/(NVQM19P A<_T9691L:
MW+IXKP8\42Z-)1(^J:,HMC-NKCG%&I'IY!"'4G"/Z["D7NK\%J"3.L*W6JN9
M>=$732?J1R"< J8X@>U:<KHJ((!2TG(4\'7_QMF7Z&>SVYTKWN)'J0L/!A9P
MW0-20&G@,I5D=4&\4[(#RN>G>V?X/ Q6I#(@)DS;T1>PV.4E> I^V'A?_S@P
M,Y-(!P!L H9A)%2:N71,4Y/RW8)]\'"J"F?SX:3MT/=6*0D(BY#T0K\/R@XF
MU;H=2OB6'%CCO#'0\/0T(4GNH'HKDT !;X-ZL!H".BGU";8752Y'Q*N=L$L9
M/FA<G2GQON2:3UCP25+@5%%Z<"37I>%&%$QP?G@-IRP"X3['4-!,@Q69,&A+
MMT6@HB[S16"'$H^P92BDR2:P>#;/9V6D_+[)(+M97J*, X]X*Q C(*MC>"0=
MP;0AD?"Z"F:*#4-'Y16YR)ICN395DP$&UZ&$!TSA(X7;E, ! $$3AB$K2/MH
MQ_4XZ!JT<3H1>(QQ1',"<8*>!D1J&Q+31/57)\2#TG.U%Y[20Y$YW,53+3$;
M*4!EW"&C'"O<E[+O7,D;Q(B*H@1+&\ O.+_ ;.Z6X:6L3\F;'KS*:77 @:[C
M3@;9JD?P]81")TP+.)=$8X;BFE9408*^L\6/HK<VMS?-+$?#@,:<_HA\*LM+
M)EG0P&!!CK'P1NS %?0.[I^2$RP()\#Z*[;:"=[+&/T,^B_L=C]WWO.L@LZ7
MJ5(6 >5=D=L-*.1:L+Q@91"@'3C-AA$4!1Z0,EIPEEQ%=3W0>B2%IE/8H8A/
M D4&'3R^7E%HL0S&FJW7,(W6N0*E'>48KJT5Y:6C\#J@?] %>,TYN#U?Q&C2
MJ@P4Z,*J8? WR HFA5:XQ*-4U&%K1TM$L6$'9%N7('Z$769G%305<B$/Q$+.
M\&WV.<*CYR,+490J&U$@GL6>$4G3]%K+=HD[4F0>E:@;N24DD%KQ+(T?*L_H
M@IS1(Q"BT3?*5X(MX><5[D>4'CW9!=J/N50+^V]0;K49#53*@:5O>V?E#_-P
M[:-+O(]C3!ZGZSI*%)>906V%3IR,R82<E_Z!QB56(.I)%ZD?X^'@W.!]AY[Y
M'CIW<I7>LE/:A2\42@-,P7 Y85DFNG/@N905G,//<(2.44$*8X ,Q&J4?$'/
M@_/932_E\^/3]!XN<AX9@/C128L\!K!SQ%.,4,&Y\.AW+H_/@AP?$G;IKHE5
MQ+JZ*9Y$XB?>)!V)\JE+Y\-(. 5)$&A78G4_:9@_$3)&<N8?-EFUH95W49%L
M@[ ;=[IL!5A>LL4"F5D[L!Z?<Q]:F0LJ-%Y65-%40)H9@4MS)ET#TIJSK]><
M3U3\[)R:<K;0:V^JHH;DN:WDE-C<%6,E92RG-2KOB8H^L'QO9#];5)*X@D46
M"MC9^DA"ME)U=DMEXG+F-9"I^F RC2O+2RR4QB$<=]3UM<2*CB3WPXQ_(<-)
M9?E43"=.P7H+JP 9-Z.Z3E0>[-IF>[%3C6YM*F];KX(P+0)31 G5'7*M?3MG
MJ1F>PXWG)0%Q"316P+4-_]J2:L!H/?+#:6E+0X6]/F>-K17[K@Y*5E8 0;]@
M5Q%-$F)HE;%H2]('Q%6HB#GV1)\8%I() >3HL"]\XNAYER$;2E(UQB"G4(X3
M192",29G=K$OPF)BED#0@P] NP9G-G^ ZC^R,$,*(\+(7M,N1A4@<F"U+95*
M/K/$2P=KYFROK2^.6_#%= CRMBNB/[+FP9G*2KQEQC:D$5\T^;CD2(_#JB)4
M>%D!8/*T@X@V\$M3\LU:7TW] F. 9?Z*!*I5-*S*&%-L:()/  0T"X?:%H!+
M#1K"Q2#^V2Y54Y+L9&2"00*QM[VYEC*[D2V?9'4U*\?ZH95ZPR!O)$%YDNWM
M!7..N205ERE+7\Y9R*U<X=UF>"*]M&,T]KB7I'4$I(R-W8R6 <)#$MO[P=3*
M,:8==%:@9=V4*;#Z]]KR$E:B1XG=0VM5LY^K3FD"K_CDFG!<3EU!9"&R<V:\
MW)DB?P#?3->A]C@HQ<I@GHB%40?H^)&Y'_<F/;!7N(-]5"MX"*QNZKI2>BQ.
M\%KQW6NCOZ3!8L+(38 @&:\YWW$@NQ,*C8&@*!N=R!Y_$V'$%85L/5B6@"A!
M!]_#@IPVC1SA(" %Q1 8DP?0J(1O$O["<$53_BOE/'VJRT4/J[3Q;YS_W5C=
M,>""#(6!(A.@ 87*YEDD88B.HA"= 7A)*S3N!*0/%C, ^]H4E)VA,__" <X;
M98#S1 .<-\H YP4.<'Z16_M;1/QPE'!G+SW6>>R]F3YBY<1*VH<A98O<!\0X
MD4?5PS)*ZT&""C*L!-3H;@+,N$\ENM\Q&S\"_5%0T6H43<DA/!@(8"LQ%\S9
M>R??C_97:SMH"VL!]PG^%B $)TVI08$.00^O.!V)KMH8KIY/!.P>?)4 NN \
M]!3<SEUQI72"6C3()$(K& #$@\LD:"=!7Z 1 #Z9D%><_V]U*1QZA:[F$5&C
MI$RC13'%RP$%T@9NW_D&-W<C 3%:F\I$J<WMX%LC<S"3(P 6_064\1OG'(@G
M'J8#M"$*I)0((/=776!T2-7D1C-DG2(HAS;:;Q-*+IW#,.1-W-=)VVD4?(05
M"A\^W&]D:H,1EF@,V*Y?B?!9($*UA!"2F5K)5#IF?M+WC27 :/@LY)"9-+^U
M:7:OK72/II]"M2=2=JC&=X+US^%,4.ES$[%@-N=/H'TO[%8 ^[@\'\@-8?@J
M;Y0;FG87>?IMAIYBAZIMN6 &Y\KR&2CPCD*WQ@ P7?1&D+TD??-520N+S$CS
M'@72BG/^_.&H(!O6F[H*?.R6@,=;^JU\@R.*50GZ:8H?VK"<+&@)=9BT9BWP
M7U<K<K:AUPM$B;QW#QY4L35<N<"]8W;?)U2O'A[,N]>*T4<_9&5DO7QN%Q'!
M/I"A@0)=V*:95R/X<,!P,B"I.Q?#E1;1+0#)\3.^L#$* 6F&\ C,PPVA*)R(
MCEO<T5)FK@[IF>%S9EK>"PS>BD!OB\/LVAAVRZ<Q%J[0.NMYXV3ODMV:Y$^\
ML3#=AHT;1F= 68\ZWG!_(8EA1KR@+K;"(G38P9Q>V#.YTZFZ:[T\B$Q@5MQ6
MB!V8(+E)S^K+.8!(P0)P^[!H@:9PNHAFB[6,,+<L4.; R]A;@.'\4P0)RF+U
M=>HV4259#)-I$G+M92Z9?-@)2' !T:T5\*Y#?<FFE<S0;8\(UM5P0QT&1B)R
ML 0W:+J@F7B9I,5^#S(1H"DEUS<I*U^-RO%PP"0^8P0GLI/PY,"<R.8QPL62
MN41&>%Q-BY?KO([.JOZ@@!N%K?B:&KN0=%O)665PTG8"O,''#C)<-#_J9+S@
M1ZA]S_E#"A]8X F%:EFQ[<<?)V^19RTO[;'UE1:\;^(U]F +=>@[;_;V]][.
MTNDLS^$3S^&A;&H^B!MC#B(9D2Q]=\1H_<CU)6; L4T?#92ACXU4T*!U]'T_
MTW98#>+ YE0D5@%J*VA\-'<"5TIU]@Y6\6O..&6SVBB=C,7YIG0%]D^[$LH7
M-GNOEVBW@P2<*@B#9Q(CPU>YW=31^<EJ;7WC_>:'>K6VM;R$ KTQC[(C@-^J
M?^0..AK0\>W<O.MF 3N,'B.T.W8!S*32)2,R9^D<E3U8IN &HSI/=(I0C4JS
M,@M$0 )6>@A)AT/C.SY+O9=0H$9^'!"?QF9C5FJU 0:4OTD2)5P7KCEZ6.7&
M6:]6JE7Z+WF0Z11GU3H(C P&D*:E1CD_TSL%1;AS.!_='-8?AS;M&\"49QI5
M<9LN"J")\4J>)<HNJ?C1"_[H-(5[R7D.:(4.]0=4PF+)5T<#1!+?V1I_;9!U
M#5FV*]45&==N-1UE1IS]1A8^F1C]A(]2=I)0+")[TO(2&91L-D7A=!D/<^;>
MS7BZ$8E8VB'V_!7C6FS* _\!%\ZY":#,=7W;,T7TG2^YH9>7CKB &SO7&FZ<
M!85_.6ID@>"AO=[8;A>A5] X"(N1M=8+16<.>UD,&>><U';#AQY]93D;VUB4
MT-V$4+'[G?D&W_1 #[-T>DOM:^(WTR=)]1*6EW+AG:D5U(HJF6P6.>W0U%(R
MG7ZX"Y YLVDC/^R%B&H%W137\(3)&DH[<=GNG'AOR"Z^@&E;E&4MO0J!0Z3,
MKDT;M7J@+L,@"Y$"*(PPAK=>2W.SHA1TN,<P1PE6'[D=S'/+6F_**#-Z=\*H
M!R-0@49;'(JL,P8?IL.1K<6?QGW+[ H<3$DAZY8-TT[AX3PP;*46D6R(GNXF
MM@ ,5C$F2E)_1^%3J O90@);>A7U679\I]4LT#_,-_)ZU>FJ((DE]P#->X.I
MU6<S47[,=AF,RD\#W$66Q44^D4*B5[KE5I.ND#:*]BF,7_3[U,?'H)XCS!(]
MC -@T.I*H)$O$!%VG[P632,DIRHZV_Q"R?4V3% "H?3LN/$.;81P C2GK,&^
M4&P9"]T!MBYAA"!IVE(QECI1([@QX%+B(*@'IITQV[UM@ (7U:"^SJLF]!.)
MP;9'R7G>*QCUW!$#(7F<HP-\$VU=*.#UI/$>D;X,OW7@#]^$$027=(GY_; '
M:TEU;FPKKZ7\6ZYZ&LVE;_/YD)3+F08TA298CVSRL2TN2E&D(=Z:LDMER]#T
M,,/LNU0K)JJRUS:Y4RO)7C)HB[9AFC;I@T\D"G ]SA++L1R,B#GR1"=TOMH
M72J1043<X !;M%0%**MP+U3\-9_2>H!%^T#TJ62>OC1X">LU@:@5R5P%7.:]
M0GMDOB)29B79I,MF]J[!-#KK_3('PG$[<(,PUSX)TM:URTOU>@XCP]+HM>VC
M*UQD.=9D9M<!9RS$V"%< U;Z 9[ YY""@+FPCP#F80)\QS2*X%9_W-$=S8CV
MZJ)0*5KHFG-$W,O6M,HB=0PB;,"4S4'*635@U,$;+FRU<+.SZPU8)^ [O=F6
MET07UV4*ZJ=A:A37R]<5X0?G8BZ3I0_9&]8W04Y4? FX'34B'M1GR1J:-FDC
M?/']Q,L"ZB#\DPMD<%&IZ9:A[ G@U[#5D;&Y\F-9.*BY8HR3U8C0%):=(S9D
M^%DL?DB%H#!@/=T;-CI1>]0UIP'+)WHTV>@&];GVV2-L3R_$;%\X.FJSC(Z:
M:'349AD=-64B_ZV9+G)AR[W &H]2=_WRDO7=G)KHSQ/D?W"&9@P#I88_JY%Q
M%%X6G@LMG%Q5'>?T*G:^ $/,2A[@(UF=')SV+TI40UD!9 "._\HJMAA%G8+D
M*A:@-)%C;+1<P?F:1CN85#,C+-A(J2R0KA ]M[PT(GPNC9.SH7$CX^F*473X
MZG_3R+F*J0MI(E08Y"RDJA!<2!'L"N7#P1AP#*ER3E#[RX&<A9?1=,8>8.VI
MSMX!N@LN$9WU:NV]*<:#?3TIF3$5JO!ENT .5LM6@_KTF $!?QP2ER8[I$'F
MUL<W8)Y,XR)=&Q=I1&4,^XASO@4,RJ& $Y\>.(<!.LM+#9#YX3ZFR#LKU5<,
M)(84<\!R8([D5+.T'E N)VA<Y&3^CS$!E,M+M:UWM?><W<\4DOE*.+XS\RF:
MA6#,882F6:["8YWF14>[/37[YWLG6;6AHYP3*#6GVZ6" )]N#(G(UO1]FYF7
MHP*,H>-VP[LQA9/9W6D!F[F6\C+B>(D*!P7 HMG<S\ 58B%94T%G;SZ,<6A'
M3"0AX\Y:WQ$+ED**P8M'Q_MG!Q7S99:E.FC4&;2(Y^SY \$+A.1&TL;J6$,H
MS@)\TUU-(RN1%'N 9VOCXO@)S(Z16O1D@FSJ<QAZ$<QXI2(31<>);T-X0D3:
M@>&XFP37(;W"EJ5OI]&K4;:C)FT-XS0]9&EZIDSVY=7]Q)*J\@8T4@JP@*OA
M2E;N=][SD4.Y7.\**K!=%<?F6(Z*:6=2,XE,&(1)Z=E9]$8A&#D?H)&QI?3T
MXPFBLLEI>2-+]@+SFU5(9@/$IO51.Y[HVQ@JRL0"4/Q5<B,@+DBW)X.JR54N
M)G?WR6C>S%+**=\J]*D0C>PI=C7 NC 5+R]74!4\8ZM 6RT9R[KD]?.+EC*V
M:N$-YTE?],EZ8R:-%&RST'Z?IR=3%XLSV=W;3=A@C@=9!5$A="Q77[U/MO"F
MS!L\V"!F'"=H@,^93*C8U>R>C-<@QT^ZZJPJCD<S>M(U-2L_F K\P!E6=O=
M(&DV0=#BL,&]05'*,9)4BBT8>[;TOH6FC&?)6+9>/PZ)N):<#2RM,9L,O<P3
MF23RA)(7M"/T!Q)7*F2&4* _"F\:98TN"5FYVZ.3:,]'/U@44AXNZ(]4/L-8
M&7)U/547V2KYY')E-3%,W]Q)?/\806Q0YM'YD4PBRC"P)CO7NA+S@[!21+[*
M+%)I5"H, V;\KQA]RYZ ]/;KH_%?1;$M/6+CD['R".J=!<AGG#4O.&=^CN@^
MC@ E>I=,7YF*;@OB(TF@@B5-BXJ6\?)T35D9ZP!C=WM>9<ME"1:T6#H,.?6>
MC2NLWP^9*%CA7W/.L_##S"="U,XR!U8?,A7T,& BSOII454<4_R'I+WN[4KH
M\E)F>J'XDC9B/)>>P\RJB)\U:Z/D.CTYS3&7A);TPH"Y1(]KW]C07G(#1*RW
MY4]X97DI+2YB S[*8[DP=_X#!28R.\RN-/3Z:.$YLAK3)*-J;;N2#_]WR$I$
MPA&&U@193:%!8^)@2";SY(ABVT:43#?! TZO(W17N&0<PI"EHO7;9@NDYC!S
M'70Y2):^"XI&=%-9^6]6S(?-\I4[[/+DB =E(5UG*N?8W R7RD4FN63-(M!9
M6B.[SC,<Y13]R.17D>4B?9A7PJR?S(GL>$^+RF67DL5()BB.L/=:B!DB>.5,
M!*&O*EG>?<'X:*V262@ 18Z9:BH6 S(+]2BN.ZO8QE>4G=WL$B^EO%=F:,53
ML<KAH8&3D5GE,OLU1@>V%7($6[DO;PH;:0@W1R: N\G0)?4FT$-'QS(L;@@
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
M+FQ#"6-*TU^@@_IA-DZ60U5\E8N>< &5"M;3[IF8.AE7\G"@),XEO,WUR/V
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
MD)I2PY4MY-Q%E8NN[:S.B2#M2[+!JV#,XNK8N9X0H-TM+UU*DA;#7DQ-LXU
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
MGV%G\/.KD@YNCXNL5<O R(D&1M:J963DE",C7YWXA'*'M>8."AX^D(K73QV
M.3$AU8S(7,:,-;V:,=W'PUB6D0[7+CR4NT&QO4'N[GA5['.1Z2JG;8$,:+R8
M)$7YZI+%\$Q :6*V6+Z3'/D'HE2N- (,Y9=;8650O%YSCA,@2 P-S&[S@NP"
M8@\++Z/\BH;(@S )3":&8C=$P$F^IB@[%=FQ\G\E"VED2<V0N[+N$)>L%$#@
M-IDO2IIIQ!P['\=T0RK*9'GU(!RA'A35 %86*CDM 6<5Y.H9J25@2"G0B^3J
M/YG\ERH/%=8\K$H L*PY![:2Q4#@9@ZT>^T>2X-1&C%JBTYJ4@< P811%Z'$
M)8"X1S-F&I_!D U7*(B1&260;-V(E* $*F,73*MM=L+E)=(.@$"-#8IL4KEJ
MTZ;"!C QLAP10JXE/\:N@@@I@OD<!RE&!6VIIS%D!9UO$1K7T A5VI(6A=VA
MQ=G$"[L9YRLX.#DJ6G/0<F2.6/Y.I0!N8&%MVVJ<*9>DQT)-+I'%$-OJZA2\
MZ6#EK"ML4D%!1=&]F162?I:&QF'2,*"FM%VL?@#C% YV9-3<+&L0/6MMO-:I
MA@+JK@GP*DUQJQ2E&M(LH2EVYK02CO? DY;TT+-;\-Z9(EX4>&NJ@44%#K+F
MG)-AA@T5:5F=4 \!BQ9P9H.P0+1(4"0:#MA1/6/9=1.M;939R"#T+,)L["+Q
MY0JK^QP*7*&IFWGC,CH;/+*^8*T*T"5]3AP%D 'R5(77L@VL#:#O%_:W8A],
MJ22_BQ5;7B)H\\TWDD9*CC.'B_NMN?LY);OEI3,FC]*0O5!7"&8HC8@/O6:+
MK6$)65S-X7Z#134.[V6#-"E73<GNQ"M)+8XEO X?T(3-W.KOXB!L"K#S".Q:
M1TG@X8!L,]H0"/SN-[4+/U%-7:QWEC?!\U6"L]B(5K)>.P??&FR83-/*V89H
M)QR6B)>7"B(Q!<9].6J@K7$T9&CP1A9Y='Y"\AZ'2Y'PBWDQPL6D"EH"Y3T-
MUB#:.UC]"M<MC&!E.L),M+S$\2,$*@KEIK6I*7A&1= PBCBKJ [?V&!+CN5M
M $^&N4PBHA(5$ZU-]Q>OA-_N&RLV3LS!S<(.W,^*!@!E**Z.!"^;>"P2A\VE
M9I4; RBVG+(1JO=50$#^3YJ@L2=^B+VT^2M\\;_J4BPO4=-6\ZUP8-5<^H"V
MB;)C4OD9G\?E!NU$VOM*72;P9]#'I!C,V!&!!"4.XRNSL6QPYR?;ZCLW>AH,
M9^(H/18%$A2J4$Z)KS&B^M!/G$:%_OED@EJOE+>*:?FXD//&V?GJ7OA]M>[4
M5RG_*%?#@1=FSMK^N?-FG]*KG'-@$%>P'O0M<>CP:DM+^7: 5LD$GN4>WH5P
M# )'UPQY#W(E \8>&" P#NLF'8<^9M2QMW^^=Y)&^1X;A=<YZ ':NHH#\(],
M&A?IVR8VV=;6\.Z$E\CXTU[.>V"Y#R5,LIJ+H079Z&M9R#*J;.EJ^47,/ S3
MI:7!RZSB_3_VWK2I;6S;'WY/%=]!3V[.OY(JP?$\=)_3569*G!"@,>ETSAM*
MMK>Q@BRY-0#FTS]KV%N#+6,;;#!&]]ZZ3<"6]K#FX;?<,"@@21U-0&8!:5BJ
MM\V4(RF)#D.S RJH0/0PK!R*\;%!E2;T:L*]R"RI5[@YL*0.!T/+&0F1E8)M
MD/'4X)+DB8(H6:3?A8_E-43PV?%-.8,1 X[\+Z$H0I.HJ^).= *?.YIZH<L,
MIH:R&Z1>!P6 ><)K4*ZF#PKKNV_T=[>WE' #-4>N,>X:%3QZF!@.0&4AXV,L
MN'E>^\#Q.:4L^W03EEUL<";\P;>$U*B)#_!&N+Q+.OMT+/$%<)%76 5N,)@K
M)3&5FJ7(@>B*KE*V;0/4?B;O7N'F0-Z=NE>&;=X;"@GC,Z%1CJ01Y X=0AQN
MV@1(E#F5FR47?Z@"1]/NJ+NFT."^LW,0GU7;M#N[&.8B&8;BH#%T34O+UU".
MYHN[&HV$! L+YU!9$Q(20X+<T]_5"B60M:U=&H?5QXS/ 9;FZ-M;:>)2JY7R
MN3H_WA>6&/8=,+ZE%08/_5#+Y3]JI6)M)Y\K5OASMZ*-]K1+94+@?\9/BXZS
M*SH..T2_,0X6EA>]^^/V]G:WX\3=TXXSD,3 GBI*9\&0KR X^56>Z;/=B?!N
MB6-L8WA.87$IL->&;6/3RKG F.:;DIDSJD'R637(<JM!\EDUR(JK0=X(3E9S
M,-;9QY$SC-.I1(.<SB61.C?X.-ZDA4"!W]#\#[-+5WSI,N6O*V^ FB^Q-S0L
MFOT2#(94XDKJ>4^5\+;P5\$0=&*',GI@2!2B:EI7# P)OBY?N+V5?"/H;M^T
M&-O3 !W.<9D/YD<.BQD(+66HJFFM9WI8,TOM,?&8*?ZEAP,X;=O$]A#L2X>O
M(-Z3EB^0>2-Q:+N$)=OC,#P#T7(D*:R&1G0BL)Y!+PUCX*.X!>HXX0KD6#C6
MPP@S)30C.,X66$Z<,E3GDJ\7BYPYE'!4'WPL:I?7D?R\O(2/O\,YS'$0<,!A
MY17YI-Q39+"1 L?M>5'--'S_?5YK8PT$XR-@HO+W[2UXDWP5G]#X,V4TF8K*
MJ2XB]A18@.V T623UD1-W15M6&X03IH"1_2&$+W\OBNXO<G['=_^P;R)W@IR
M*?9:)-@NHHUU9059B)3: <4OV#S#SGM7'KR,[^/[6X?[FAM8@H/D"N1+UN9/
MH<PQ5N"8)IVU@VZTH >K]B1$_NA@*1%6=E.="<44TA]%)!)0KP+!/F'_%RV,
M+$L%,YO.8%30-,%A&K8TX/)Y$J*DHB^G>ZT8_:!U#@8- G&%)>,SMQTFHX;"
M'9@^ \)UL<1?=7.[6-GE($B<& QE,@6#TK*)7%!TOF,Y5 &3*%T(V\=C-X5%
M5Q2?'09M^%VL)B+\-![R%/%A2J!G[ >+EB/+C'Y;(PF_";.U'SU >SFSL@L$
M#_SLX\">L/14)^*Y][/,Z5HSO:(5[("*D'C-D4CB8"KU81$8NW_KL%(A>,Z@
M:[)N4!U2H8JF*I\P3\=Z/:R_Z8(>4=^ETE%SD/Z,:, 6B"%75OS *BU\%*-\
M*_ 7PS88=2\$#S\ X1A0CP]GU6S#&GF,NG44OFP_;&)E%)@0SOUT*/%X/"GD
MY6S%4.(N;93=YDVM>TW"8WU''#Y)F+^>"W@98??ZQ37A$."*N7@T%*V,?SNT
M1M$TBYAM&(IMK&#R,55OQ&%;92&_Q9DUQ_*HN42+M\!B)!9>F)'Y:R"2#=Q
M1FMK>U5O1*3&+%E&:$?_656G=YUAK*[TC'UM-9.IP; Q^/!3C)XAVI:VYV![
MGRNNX#^$5X\-?YA4YK60M"8L!<UUE+3&">58Z6^%&/$TF8<%>V@!L["6!CP%
MH2-\.S-*46M&6\VOY9>I K=0[/-*(L-\'1AR;7GO]<B)3%"_.+%D@OHQ.Y#.
M_[A+KCD@;:_8:X\)U*B\@CJ9;(\^\3N*N36@U[4ES=?#1ID<>W%BR>38D@W.
M/LY%-##=US9M:;S=F![6&MXXG#=,EVO<RM W7(&/$&[4!^#PX)PK_+6-%;M&
MIX]]"D-C1%8=+P630"J+B!#ALOU@-YTE9$7,IN=\-KADX8A&<WKQW&4236)6
M#C,MZ8O35;4$DA?'H3AFGZZQ814*7!I?''CQ]E]^!'9L68;GA6,&=LFE<CDG
MH*NI5J%C@QLQJ+9"IG&EE]8U>U1IZ'.&?>QKV 4F>VAX_%!JVG2=JA'':*18
MW*UF@\2?V ,!9#"MR@"'0J53N,"!&#0\%N<(<&*)@5]5&HW'D,CA&M4/QL</
MA8\?]CZJ!XS5L]#(#8X]X#H8[X[;UE%$(Q"*$<44%%:0I^9R49/E _S+H(F6
MP<$*BEW(8+ "]8B>OKT5/CXL)4+XE.BW#"-+W')K>EQ\,.(,HGF#M2ZQ4@+5
MU6&ZL \'*Q1&FK 8/!"3A2@),"+M">M&2 !^!IZD\]W>FCS@2<0 )8U0I;5%
M0KW27N<Y2M5$VN7N5E4VH\Z**OP(!2_ZANE%KZ*FT+C\" /HF219SRVOKB80
MNS,-E;#V<%XUP4DDZ6&47AAX'H!6S!?:.X4427%XQT 5L1*X4KP$COK5J0HN
M_LD8IE&,\R;EFA(%\KU8#I?4X9':IG;1*1M;,T)_Z0+^0E; O]P"_D)6P)\5
M\"]CC_PPL_O?=\9E+E=\I[;:O#C\MKV5;^QJY\W65^VHL7]Q>M[:X+-8.TV]
MY(L^-[UK#P& PNE@B8)[.>&/8#BS6WZ=FT-V-J,11SAS>D!EA[$QSWW9PAL,
M0^L>XQZ&)U33. &*2S0.628MC2+L;HB%/3S8 9I*""]N^CQJ>)0<N+&+J#X9
M.6V6>=\65XCH&9:,$M0*M?QBNZ^N9J"/T:#\/%C(D@2YG0<;C!4!6<E)-=ZT
M437<.@ _Y70%@&_>4/,#BC3P:X.!!+SB)@KX 1YG$WP1O?!]N;1;T :RSP37
M^SY?W2U'OR$?//6]6LIK";8!C"F+\+%LP;V^@V@WW!#DF[%?<<?* ,ZWK_;Y
M);"%5LS1NW+1Z:@0H='ITY#NV/,3K3 F1D^P8CG6Q..%HQ-NQYXF 2%T!;%*
ML!;J'D9C<%J$@J.EH-\DL6:Y?P4'XW0=DAL2&7>DW1HR-(+3">#WSBU'8&ER
M;H3Q&D(^L8!1D=E=[2P$5C3M&^$1!(;75Q"YQBWC0\IA =A5C@A,B&!A8Y@3
MH6L);A*M;RY7,2@:0N8XG)PGHN$5,N+AXESAD2.1FV2!8!S,,8:,J[FH6QE&
MXPY3$R+$%>M05(?B)O+$\;OX[G$08CT"])1HE+0Z]7&)-XO.+6$RT&<B%B1<
M6_J('/C0$4 <LHV%<9/-ON-T:26X(S7W6<&^J6'&[(!;5*L30GO3_O1P<SH7
M"(6@9PPP8ADC+QH*&X>O%?:-Z3J$0!AVE=$0)]Y .$L%L9Z1K,@CT<.I3D@3
M& XC_DG16P8RK!=PFP[3$.XP' <RM!!O-TY0JM ?+B;"#P\%EYQ[%8??E+.]
MQ-CL#6I^ V%@4  P*C?J&$,3>^4P',9;C/%6U,:HED.(>2&!QJ@I3LM:SR4O
MCZ:NW&$44!#<-!"S(.#KF)+W*)H11B(29 NB ?\;#&4);,\UP.8+"!B,4=#Z
MPNC26G1)5C'NT0);]JW9,7)(K--Q)3$0D*ACVS+\RW.PX)T<E1V#-HN%,L,)
MH=2VM@,KM0V"+9.DJRZ61W_ W;956D8DYX(20"S;*'%NC311R*UJG[%KITL)
M'Q4;[N8%N%E31!3@\5NQ=IB>"'MBWFO8(RFP%.W'<+ Q<AI2.RC%JS[*W2%!
M4_.,',2X0QF'*1I*"TFA8CF,768D'O^FXDV;LCDVV<%L 54%;+P#+#8(97,X
MTSV"8'(F<-%I3OWD&!XYAT\]RO22#U&$C8)[H 8>J<> _HZ-PL*_DM0EL$MI
MY<?&H$:J1QH%D2#"C#J\GVI$)T#W,]=@LUP#(N(QLB,UQX1'+7((G*9'2*6*
M!@<I,/_2*'J Z,A&C4GC?["IWF2[#U4%CZ*.4;)\I(+CC#TVL@*HV8[RX7$H
M[;"JA 9N)DWE030B2V8[?L+/%_"N[:VS_7,%>GD@$%0M' 3?\!GX4YIWT;A(
MA4/JFFW"+D=[_]9QK\,TFY=09F04Q2Q/5CH]P[0"&I 9#;B6\&UJ'JG"K4P]
M0 8,->T4_Y[SGG)<)C*X')@9N#'%ROI*#9_H,6@=+H6^R]^(R3$6$@09STHO
MLF0D(4EM)Q<_,1]/0MR9G82QDW5JKTFG=FJ]V5MMWW[-G=HK7NQIJK"7G2&)
M;@[R*0(/)25-Q9B0".$ 1[:QT0 RXH*%)<^4.K]UH/#71-(9#4>+';,L$+X&
M%)+@!5.(?7)(B(I=A94(,I@$7W8&0-((J"V2FIN\31ED&9OF(4V()$,LK<@[
MH_2,TGFQ2+%80]#%N$Y$F[S@@; #C<?E$'14?*Y.1HNOX7I?%2VJV448V'4L
M]&?@PU$87$I?-S;8(@Q,M#'?,"1GK,.!^XYEVC1$>7(H=4:ZKX$:7A7IAI74
M?GP8MJ387BQ%IB8FLA\O>F#B@EY?9F-?1I094:9:L8-H> RO&:2DC!:-0H!+
MZ5FE!F<&0O@JU$S#4C!N1<.4O+X9'WV>]5N]VLWAJ#E*DUG;6UAMIAUQW"\+
M\K_.S7%NZ@(KZ7D ;1J8+69->Q:FCRD]'A\7G&5X-BS#0Z0@0_8/4P0-9F__
MHC"_@Q%/$1*)1/9E>$,>379CN!3,DWD"7?/D?-:':G%VM[=HC*O\4H1+P_5.
ML>S"]*7"NT/:G8!PQ"?(8=94D#'@>=X*NMKT5+H'9=WVEA1V*K_CR:H'BN-8
MGKCE**3\)K>+Z+BU+$GQ-I(4:VOVKG"5K\C@321'XT)"0A:PF1M#&J!Z. E)
M()/*79KMN,X!KC4EPC=+=6-N%L]KM\6MC*%RS6=&31DUS;58=-"YZC2P=] *
MQX%;OD*.BAE@GBI%E,,<4'B!.^\"]:%/'L,_I3*.C  S GR,.'/:5#\DZ<F^
MDD'->%VMK%PR0ML^#"-A//Z&BI'T^">B2%2R AYKTFT<9XE$*PP7_89H[B65
MWT9/5#$L62?$?0M8^ZN:57Q'U_H!O"O*!?@NK$I5CY%;$!:81P^>PBG/'<=Z
MZ7;O8M;NO=QV[V+6[OT29)ZYJ^NF6C-W-=2TLBPN5L2,&"E8MNS!7]7D:8QB
MV0(SBCB\#-2EAQTYUB.4<%AZ'17B1:D>J=FYP%IIXC'=2>^Y(IRE>#EU:D&O
M;#?H"H^ A;Q.7W0#:WEC2#)+=+/Y@V@85"0:?G*PCK!=, !X+(2K7)LPXC-&
MJM,*S:G\?Z2Z:\:_)9L')?UGQ)H1ZR+%2V%FG=J88XZ+G/,WA28S,LO(;+[P
MD"V'+,CV7)1EW,83IS;Z/=@)$A,T]1/4RBLA$'AVXXT)RY!C((X.&EH(!.B!
M1VW16%57P,9B355JX(/?=R2RFR1P[-?&--N8=,WH/*/S1]"Y"G5Z07M@\H \
M N[S@Z[L5B? "662)M@BU@'8%1W3XT!3U$P?M=D]U#0HPZ]33-V,K#.R7M#E
MLVTGD+8MD:L"%9#E]7(BSMCGH@D1-KQ208[8?4-]0D^ 6U"5!;A_&/'L_!.8
MC#Y+KZ,1U>)*.7T1 D%&RQDMS[=8*3BCA #5AV(5-,WC8S0/(Z2X03CO5+L*
MS"Z2;$9J&:D]RKDB82GQ>4+@&P*M,1&Q''O[L8%D%-?S8]#\TOO'V?5(BF2X
M>A% <52C#[_GV?)MR^E<X[]Y&8DBM)32DHRX,^*>T]2-J7AE'70UA"7R$2?"
M=>'/;*JJ)*QJ'(G3=U>TN?D$$2;\48R8,TK,*''>@"OCO>&4 /)W7&< BMST
MYNM/1@G,ANFL#X:%OC3F(3,$,@I]M*Q$5)F8<Z,3/I$-"KAO#BF/95E&VPDK
M3'XY)EB@*%O1=M6GP#@JXP*5O.E+URJ,ATG1#$H?([IN! OP&OJC,Y)>+Y(>
MMVT9I= *@2-TLF6) .(P;9B?,L,Z0(FKQ".KKM1ON?6"QV-1,C>.O)@1:$:@
MCR)04R+,QTE0I1L(OC4CK8RT'D=:B)&C(D:],.T48N BF5V!-S2D/X>_SL@M
M([<YK4?#&BEPF[#$F/OX/,2#YXJ3KA%!8BM,$NIV3/Q9ESV)/@:'9(<\YE2[
MKG$KJT\(3MC(W)N,0.=<;%>@\Q(%U6E^1S=4LCWM6L3J_S*RRLAJ/K(RO6'@
MQXD*'8IH['PX30A<8V'A9#UL*!JZV)GA*Q0FD';"Q_I3%^<*>+I$>>4,([4L
M18-Q,\K,*/-1!B .8#4[5+!O&;>HDP-+D&JFB@S6NXX;GWL:H7Y%73W=D0T+
MZF1TF-'AG)9A1P[TIE2V<2ULE=(#L6=C"Z:52.X1K8'@)-Q:AT9&F"Z%8#!)
MB',Y5*R0IO[V:+HHXH'S>]8:\"NCS?6B3:(C6?Y^H\J%0IB506+DD<1M<0(_
M@D%@I)7U:&K,\'R6C>?3M+>WH@D\9F]\M C5)X2]XF'LS@E_QKA*S 2,?TI-
M8=84*! ]-8I1Z[$A1B [C7"HC1KPA=37PX*,CM!Y8IIK=%EI3X/SX?$"78&%
MPSQIS04ABW9J8(\M,YHA%'6[AS%)'H,4[Q )VXQWM68O'C''LN8KAUJ1.YT
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
MPY_6',FE>F) 8)0W\,9=[0</L,>;99PV.'LO0'5@8H2'5D*5)=&9)6V%"8$
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
M.?K)@AY=1BC"N*A%G?+ L,+JT:S8F#&(>2DODEB&%M4;H<'&8L7PP[I>%(M
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
MA:\U,+]VQ<27M?9M#BDW/$(/2VFR"$=1R#8_VT&UMM-FNL"@))"%$2.+=9(
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
M@]_FNH)WB4!6PSOMQ8-7/'KIO^_,._\W.QAT'1\A(0>&]4Z3/WADW^"P*WK
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
MP'0 PP$,!S <P. \OG9<A)KX7B5$R19N>N?"92(C[*<28GEZ#BATH*2#,G+
ME@,8#F X@"%B923A4D9JR*@J'76 KDCR_#B;;'#IA\]21=Y.\OQZ&@;>-2.1
M;:_FS-C4T[8.9FR<G;T:]JR5GQ\8N=8_S.%&-O*?)I<7!FSA$M=4Q/[T2SZ0
M7=QN)##9+0\!'2XQ]I>X//9TN,2=7>+"Z+Q'/5TQVK[ID!MO=#V58%/9')L.
M7E!^P*F]P:D]0!K_.<,\R?_C[?P_/OB<X;Y1Y&X*+\KC*,PI.M/G3P3 Z(5S
MAA-<0$@'>=.ZM$/69D1UU)91Z&,Q<T'&8DY?<3QG$2<?:I/GRYOLN-E98<[F
MBB /4[5(K:Y:)*(7 [%%Y7EST79Y@\DXW."JAG5L;W@9LRJ$Q*Q6ST?O//:U
M]_YS7NLD=LQ;-I_M&W66.599TCF6"YYE?&!RNV%R(0R%C#!/G:#1 87^/!2*
MI"M *L_RZ2R;2 8N#CN@U/Z@5+C>'#[+IGF.S?*!V\P<<.G+X]*ZR)+)L)E\
MADUS:WMQ0D,6_X!^@)$PBSJ;Y]7"X%8:W9YQ*!8=\PY=S@\%1BO;\>GE=OSV
M#/;8%8SG-N]R'HE1GCA[JCR?]7KW+R][VN6<MV,)?+1=\W)Y-I$X=,W;0I>G
M'=Z]SZC*0X/KKW'ET=C$:8Y-!-=+#R@05)O('$J_8T1.ANH0U":DDLP'=D=&
M9:L%GD*UJ,>YF.P]530]]ZKF=M<;[]#8_, $ C/4S&&F;]"HZ":-S2,QTJH/
MU8?D^_G#PX.\EXW-MV6BI5(IEDL?FAIO0<'8.0;,JA^IU.'BO]#%1V*NI=DT
MEV/SA]'?X>L7J8/!%CNR"L-L Y+)LRENB]S3WW +,'S&IXV8-KK]?3F\N+MJ
M"K&.K2UH$/:E<?Y@N&W*6 _3@Q<8;H$G4GFX0F26FL"/TOEVHEJ^ZR\-I[DI
M?I?6FALRNS7/V S)6#SHZ=$K%#NX]%F+#-_W(7(2Z[N.9KI4FN736*W,'P@]
M;&4A>Q@-' -""L/L B+)<&PBL<5&\RMW*\IV>[?GIYV/2KX781CLT*+HT"OE
M3[Z1P,S_T*+HZU[R@>SB=B.!R>[0HF@/+O'0HBC&E[AA.YGY]FVX16W)#)M)
MY]AT)K!A>\"I+XY389AZ,4(;_R9%Q36:%)5IDZ+W2O^Q7JY5M'8[FO!;^/V*
M^%5J"N-8';HL9I):W *D_(7Z%7V6NY*NZ<7[!]Z.MY3).>+8K"AW:%84URKG
MH#=X:%:T34[%A\2I5@_DWMZ?I_3R@Z&*^5TREA Z%44;LTTFV1R?9W.9Q,Y+
M\P\<;L.HQ_(^#I&%@@&-$H&3,@\HM#\H%$F$.<>QB2S/YO.[;QAR0*FMHU2X
M3IUTBN4S>8Q/!USZ<W!I[6X R12;RJ99+GB=:_2MBOXU! Q0_/?QT7]#]P(_
M&)[# &]* Z0S-?3!W*D#06'I!RS30)K4_<D,!*TG*2>&.OS!<+ U\P-KP^[/
MJ$G">;?_,M(-J3OV.T%7&$CR^,>R+;A."SN>.>YP=X?K8'L",Y<0S]9 Z/A(
MZ$!1GZ",P>)05 .O8*B L,3$PV:-R'0E!=LADB#CMYIVCOX]#B#9UGWCX_W/
MR0E3D9 L_F!NA!YF&@WT-D+8.L-TE/G)D*P=_"=S<F(Q.U%Z#^Y4GCIYAK 9
M0DWXWF79)%W"!^#?>'<=Z]_>=W1461:&.MZ+]==/YD,2C3X<D/O+Y\3@@9WC
M+\4WX\L?_#-H*()Z7H=_ZP*<!;*?3',\Q.\O:$);ZOQD:IA_4K#65 !@(N-^
MZE_K,?C*83@6L_GO7PQH/YAK2'@]:2/,7O'B0W)G;H2C(+:QEGY%<,Y!@J%W
M=?>F8+?TLK>&^P>V%NQL_[7-Q<"]TVYQ7/J;)1*+]9-2M7!6JS>:U6*#/3ZJ
MUHK?F4*MQ#3N3QM5_-U=M=SX[]_VK[T%3;%>:]2OJJ5"LUPZ/FHT\?]>EVO-
M!E.O,,5"XYRI7-4?8P."K4GT8+S6<A@FN72+YQ.M2>4C^S;NG[ZV3Z'H:S3
M9QF3GV!N9\E*YH0INL6I_04)"G4$O<]49/7#\>\%AV\PIO_-CK29+P@T6-H5
M K-AYE4H"6@_$&C,\)"\XGQ>O%>X@__[EG  F\JG6CZ>ULG'1!FALW:B^/FZ
MV WJD:H^&_2C+QJ*"Q3XG%GQVS9ADP&(<#9L. J;TF.QU&T.&YS>C@0V7#BP
MH5;" FUCVVB7"1]:STC0=*:LB)C,W='>,"'HH>1=PS#QQU%CW EL.JF^[$VJ
M+V)Q<Z.I[Q)&T=/QO8[$JE(?(DTP\ L+'4-ZEPP)Z86V;H [H26=MB:CN[NW
M_E 2/U+K]* *D%JQ!%34ZH"=,UT0E$Q74P>,:NV:$>QMVV4COM?H8[,L&NGL
MXQ9:_D._!>.T&W\DR<^MO)"PK!D(Q<GEZ65K(FCOM]?W9XF[;C_$*@Q34\F
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
MUE2S<;NX')OALEB4KEX:.'=$?3!^>;CVKRDF UV[/[\LN >PC(9#F4S:%62
M#TS9K2KT-#!TQAW"?TKT3U_TQ^)=>9V&#6&%\-T[AJ[U'5G51QJR4Q$ANH]-
M5?L(<0R@QVLW03HET@S=&T$2:X@4$+8FHW+EYK:>D3_K6V\K9>V'@:9Y:X)T
MAD'Y<9^ D9)\@L0UED;T0\"$4+>=7'?;@9IK.IU[7%CSUD:YJ^Z0,]Z$&/5
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
M&BU9U0-.C0[M/D>54EL/A6]]7H=% )Q:$T%SIV+)D4$@V6PAY".M3/EQKQ!
M-0S",_%["\3_)#!_FQ;)6:%P8UDDF(MB95@"?Y@);,R097B[*7-<28/.AH^/
MD"P-H#,P$N/$2:-&2W\Z_-?CY_L5@=NO@0\I=?$=*D;!1H<;3 8@F^>Y^C+N
M-*= "[0FO]_;_3LY59WP:#ONO>WP3]O'EYCKX^-;D_O,Z>BT73][ZO<@TW:
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
MB?")UF0@WPFOU?.7^S,9ZI0[I/OI\5&5QJ8<H#$-B#Y!M<W./<*'NK5(@K!
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
M:PB?)Y8KG_0,I77-3E=1O!BXQNVPM;V>O]U*-TCKJ>=8M@ _<R"[F;G91]/
MI[OP@SY^&/\2% &L[+61K'[\^(/B0R8G\@8-3PNM"5)O4*[W-N$G.9MJ14D?
MR@)^"V936.^QV &-Z#N)6E>S4)XSO&(E>1L<^,$D\S<B918(8WI7?H7;6J_]
M=X)+L8EDCDVDT_]\LP26(Z?- YF72RO S9?GX-T5#ZOPMA6CR4-4\CHKFD\G
M_G+D!_[!S(NM$_[EITC\K[VH;;SDN.5QJ%FOCN_0NT:U\\3)J/^B9FWK@JQH
MI4.)[A9DK'E\P>-:F3I%9NH8)#EPS0C32HZ<,,;F)=(LOB<VD4CZV >^E^M_
M:Z[K)IK8VGC[2!L.!$+6V6WXN]2LDRQ$RL5G\J!C9747HR\R2NGN;8[CK^6B
MO-0IZ+?-A9@6EKLPE.&,<UV 7A2+$*_6XH>S/-!VN5,^&#9FI;W= ?P"<R2^
M0ISP!9UZ)F"/Y$J=E")O.&G2/FMRGYQ^WJUG;$1;<K+5$<Y5:K_VOA=Y4-9%
MOAR;R:783":_2_1;A:U9GUF*&'$*+$!%*YPT?9PYZRQ"U>5.B160.>]"9BO
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
M7@$_(,RG<GQ9?O;#'-RA5OF4$\(-. MD/QE@_C^8@B:TI<Y/IH9QFH*UI@(
MDTGW4_]:C\%7#DY:^/C?OQC0?C#7D/!ZTB:)=3^8(;DS-PY2$-N(3+\B:.C@
M_]"[NGM3L%NZ(1>6;)$V#AFU&V;4$G(!=[6=,1K0PQ]B=,)TAUNIMECZ8YE.
MQ."4"QV_6NCT)?0.'G'( 1<DA<%GQT^H"ISTHR]U^EC7(7C(:*@')U*U,2,,
M\3IX_R2-0 )X2EV)9L**HP[> B/HQT<?F*> 9]_\%-0@.(""#+S6.U+PZ0U\
M;<C0::AB[MY(;JNU+_PLS<3%4'8MI3,?^%7.8<T\W>.C:Q"(3%'09)71I8&9
M9CN;GPL[&"DTI996.[LR<&F\P(I#3#U+ PY?(L5O2VFS!Q_UP4<=0Q]U:;.L
M$C_S-&*W]=O5T]E[HBGPJF.06CN'*+"U=7:>5 C'DQT"L X.[MBY91(Q)X=%
MGIK3\7-#K;]FU-O>AH3Q98CAX-/9@D_'"M"$<,G65HD'R';_3.4A;D0@[C?8
M!?R?ZK,\Z)=NVIGU"&,CCY,W328 4L\>8:F;BF00AWP_8;JTHA4)CV:!X8F
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
MHC6I"X5NYN%R\O@B?OME@8MP%@=@#(58/ N9=E.P'#[.6Z4D]6Y%PLP/03G
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
M86[;A70KV#3,Y=E$(CUC&H)L]70D# U-=/)F\#MT""O BP(G& U5FON)3)#
M+U1ZSN,CTV1 ,-Z9^=]I9"DN1Q:B OOCRG#(#;E(,*9S_U&K53_SQ3=Q38R9
MO^WH$8:S"Q)\FMQP;#(_6R<?'=9(_S][;]:<N+*T"]\[PO]!I\^[WU@K/ME;
MS+!Z?1V!&6P\01L\]8U#2 )D"PEK ,.O/Y55FD 2")! MKG8:[MMD*JR,K-R
M>#)3ID:JP@D";Z:#W*RB?2O?[W"'A+Q#BF'O$/+[NJ*B98U%"*P'5R=V((#8
M[#5DY'J)O+%8I-49B"K?8E5H?V^I@53UJC[,\T^3K&@'()&+ OM!.L[4A^8>
M -"NF:O8ZI;Q[&D]A>'=QU;73([.9?W::F#&I@*N!#<M0/H1O1&%NE-T]FAQ
MR&O&JT-_0:]6$;NA&T)":II'[*-0HCP6-)BZAG\)RL]^5I*TQ;>#_7\J#>)"
M+X83M@?$<V69AVI"5>00+^*O03./ "C$^<?@];P[KN8>G-0T/,0,DEJ/L8PD
M>-#2!/36RXPXD^:O#K*9(IUC_)J.+E4(MHTX=B@DX80F+B;U(]9!UK_PAB.5
M]5Q8:Z',(1] $_&=LL)M.#,T418T]U?FS84R/X;L"(^+AXF-WI Y))H-GATH
M-XJ$](_$0C,LRYAHMN_??NNO3\H]MY5]X-[%>J;!NFO>3E/0^332%3GOE-Z=
M>ZBF=0%)+F GUD5 /&0=;Y^R]T]3B *G6$M9%*-<)"-_ICUL6 UYY2 MWA.@
M1]3N6?":;TM#K7"KUGN;WT7V^A/,?"GDY#)T-N/-G,?'?(B1)@.1&T"[-DHS
MNJ\"IP/+]0B]#/1;Y OWV+&B8JZ;TVR(8P559]$'T,O!_$4GCQ\D*^B^Y :B
M /$3=$K(+B;))^J2E0V844%49>%P7W[A#8>\+YGY^Q(IP9$D8,V'?JNQI/1V
M46\5PEZ?:+GX3_ZE/FN'W$@^ ;^Q,U %P5)24KLKOQ<NF"NEY^-TSREV8A!L
M=9O:FUJOZXC_XK?261DZFRW2Z4(8;]NOU-Y-&1I\;&H,,<CE05?7/EJLVE3Q
MV9'@):(27AH,T^1B..8_U9I\V;P9UYP._!7_+:R&9:W<Q+(:G!C.]+Y=;5GG
MRIPB40DZT^.C$>)K?+ T%'"PU,A0N0%X1B/D$V&!]1Q@<6$.>+-']@Y?B/G4
MWJX_A)MBKCP==NU3:YN*94XT%[9A[W)U;"Q@0WL\P=1IUIMGL832WAG<[BRR
M-?NBI@L B>)%%4P I=<30.N<4ATP/OM]]!%T!E1?533-%1LW&V)8:AK_C!=P
M?(2[7WC8(.-B@Y;Y&-!;H,_ U&KV7/1P)4MBT]SI2:W?[=YDQ"GOH/7-Q7@8
M9'[[J[ABY?YVJ+Z7I%=R@-9$__,K%"'L EZ%^XZV<V.RH#O,X"?U)<>_N!7T
M1!QXN5+)W=7+G9&K/./6O0^<\!$#6&"I"Q)FB\DX\RR=2Q7HU)*@&-M#"@$]
MC#?0[W%='M$(:/F:[G_8[FK#EEGO9&I%BQ05^/(N3OEY=MFLUCJO'2YKGW)S
M;@LKI7?)#A)RB,4T70J^II/D7!T<J80Z4F?[=Z2:LBVUH[>1S':D 3_^'&Z4
MO?0MG:A,.DOG"_FXG:CROIPHUQ'_Z2N74K7.WW79Y+E0VYUGO Y48:<.E.O$
M<D]:AU,?#;6:3K;[%-WI94Z9X(C&_IRG8@*<)Q=C]*OJ\+U=?3UGLI_'=5J7
M29;87RF&3F?!<UIB16_L.9TEPG-RG7:C6V':1O/ZK%WZ5'Y3A =>HO.I-)W+
M!RKV3;RFRGZ])M<)*_P#4Z]4)OFBE"2?*<(#S*<+=#9[\)CVO;G/[#%E]^\Q
M=2:*'=OF+NZO]=G@]W/Z4WA,]M*WPVD4@DK,OTC2R3G@\[-<X[K:ZQ7/T\GS
ME[8[S7C])6:W"2?GQ.XG1>[B\=VH#X5D^TO1G5[I=(DP[L]?*B? 7W(QQK7Z
M=-&KZ;\O)YG/XR^MRR1+DP[IS'*]O;F[5$^$N^0Z[(N/\_O")<^,_W0_E;L4
MX7EGZ&(Q36?32\Y[?7<IN^<DDW/"KV_%^]L_A?>9GBAW*<H#S!;H7#'P^ [N
MTK=VETQD.UJ#<V7[^$LUE\"695WD1<G0D5)O(X6MBE!352,M0W@RG'DX,G1<
M0M7LU5@5>L)JEGU3'BJ&K*^0Z2W?<3;U?\#"1+**(N,.,5U):*EF/R$L?O8\
MLK?Q6.A4Q\..$QQM*3HZ0)&5I"EEO<$Q^3#=0GURJ5*)A,8AM8\UEVP%-;;R
M]=)T*I.A,YE >$J8,AX.+U #:J&_([(&^(;'1YRS%>@*:W:*(H]2#%W36=*Z
M+6!,R4$G'G2BM]HG1,N 5?TE-C9B[,\]LJK*RM9(P=DL-[O(#+O755$*52?L
MTREA1XTI@O7.W):VTC+%7)[.^T[7#5<CZ*;.A*Q*HY;WD0B!80_51R)RSDA+
M_6JMD?G3*^8VY0PZ7$1J[6WO@#^6V,/IY6''@^X_Z'ZO[D_O4?<'=(IY2O>'
M^D-;9@:!)76QJ_#(>PL5"RDZG2[MOW)SF]Y"]7W?"0$<(Z4X<7)A7+W6-^U&
MM;5.CZ>W4(K.YADZ?U#J>]_<IU+JH0UZ_V8__E/96ZH"@="F]=EYB6S@%C,@
MN7=6CQGKF9:43O7S/TV#8V_/V:2U_@F4YY7;VNY2R-"E3' =U#=N!92DIM'Y
M0]/H:)M&YP]-H[]1T^C%$&Y0DVAWK4?@=UYF+:F9OZR=-9_*J:_6%#K%!':%
M3K_,QH9:^],K7*@7Z1^_+ )A^ (FT7?M!AU#EW-SJ+I/]H751.BO4H4$AL!W
M0$,%L'-IKJ)\LR>B,W]M/TP?9.WJMK!'9M_)^(P>NL^4"9YN@>]%&(HA<]"Y
M!5N\,APP"X:+A<) BU&&HHQ_9VBD%Q&ZW*#EC0X3'!%A\6=Y0EI*<(L,0?R
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
M(42?A=_W(.-D.[#P&Q88FWP>OH[N:9<8LYJM[+ ^@R^ /"!K^OB(B"]E:%;
M4--5%B+=)Y(H"VA)^D#AB5X%D6'E*?HLVC=\%&,(3MK<0)'0;X8*+TB@0LV5
MF4:#N2CRB)XB2<H$7C6QTFAFQN'XB-4T8VA^"1NN!FQ91)H:+17I FN!+JK,
M$\)\XS^+/+59AD% -^,(D#TJN!D+1B4W$'A#$DQKT..VN!4:^"G$YG3VUX'P
M?0>MXDQ"'_PQ%[(OS<TVB?1%+S/C]TU;0;?#[.TM ;D >\]GN9?9^9_G^[/F
M77::*]A+XT5M)+%(UM#Y"4B"3&K 8;O@R"[\BR<YZZ)%Y.K97X/AU P%Y?YF
MC@<;5_!O]#G.^O?:M#?A.QP2(':DH358/_VDK"F_#/.?'^%@9BX(64#*%&^6
MR"A\2>(#RN@#LJAH<4 5[#B'+O'V>:>;>3C$],@R^/6,,QHU3T8C9.6:YRT;
M0O5V1\-T]#0D\+PHZ/59MLOLF#TV1'*:LIQG?$=VWXG:VTE/%7 D&UV1R&Q0
MT3VXN+7XIY#G V;'+WA*D8S"M"$I+ET.A*@C.C1,,MPA*KSPHQ>CA>RG@'8
MXZ9X==]XNFX[/;T"Z!F^%TMVKJ61+]PUD5/D0YY?),T)0Y\?+NEPGZ%G5,9[
M72P59(/Y77L+<8;QA*3#;B?ZB2UFJ.8D[8K5 *T@D<OXM119GQ__LZ,J#/*V
MFA5WD5RXHKCQ^\OBEQL'B_V8PMH=@6/YZJ3LS6WZ?*9G;MZ=GH^^1 FOD7*9
ME1II7Y43*]-=\5#>BIEYM$FI?:YD4UKE@DFMI/Y*'W*Y9,>"45NY=4A39;Q(
MM V8(FZS9XEN&"L2(H@DZM/=5/:$^>\B)WNF749UL5A4>+")$,+2R=R4A&%K
MF'N7LUZ^=LBYADXI?!J=$DF'_#5.8K7-4F@_/31:'_U[R4?+S)W&[NP5_\WL
MTF+)IT^+?J7](9EK3W8*+XY%)!P\-14%B8^&MR,NY5EVW%5S^:8.^;A>ID5*
M'Q]BKS]12MF>EV_G"1%%5\M\ IJ/QN;N!!R O$QO#+K="CLN71KGZ<CHOU6X
M<P_ZR4VO#;03MKJ0AIHH*J\)\AKJZ5:1A<VUTRK,_E+$/CKZCZ[Q_)1[SIR+
M4@*B]+&%RO>=\(M4.!:W!M(B?'"2P0N__OT_)R=4'23U'ZK%]H6?Z#'OAB!S
MZ.N9XD^2QOB'2E,G)Y;^0@(>/@JZL/\\7M!:>8APV06_?0??O.A\_$(, 9)#
M0K4+R0PWX2R2_:0 W? /55;9KLC]I&Z1&B)DO56 @)FB^UO_M;X&?W(DTI+&
M?_^+".U'<U5@WTZZ E(FZ.$C?&9NMB,DMGF7_ ESGL/KH_FGNQ<%JR4+<G')
M#L4A4L[OVCON+HK!EY'N[J\[0=.1KM8A>8^SKM0]NC*T+[QI__3F;I+I;AO"
MH3RF.R8[MAS* (1%OLM6V?0MWO0RXS^Z_,7C=>\YE][C1;V3ZK- U,5=^]X&
M>0"(A1>0'A^*LN &E7"2@G]&NWD3=&J$N^"9V!435O*__[>83A5^:H T&RHR
M 9]9B!?G[<='$U$?$-"+IBF<B"& OL@^=JB@&\F&\;E@+R9H;0X]HRTB5,@%
MJ@FZ!C:E^4Y7M<CQ$=XZ =L0)")K\@E\88WJ.P]BY8MHD$641^%EUF[Q#ZIV
M=ETIE\*@/-PM5QWII%P*&!/QSJ2_):<+JNM+$O=+H$_\+,$5';H2##-P^O&
M9OA&^ H/[ KWDZ"@H80+J/4Y$!@QBZU=O^*M,4R5%B(,4<6U"E'$M6KO!M*L
M#1DI80//*VA"C5%GP,K^E3+6$/K0Y;7V[_W,,"10%FS]ZK6@W/#CSI^V3R,L
M_TN"GKM(P@V*#ANWW-V\-K_V.9$4Y8<_VK7&>T=^\NFK)B.E!X-!?TF?6E_5
M$R<#;#S5;&<#D() 9:O&6L> 0XJXC=Y*SO69<ATY6^H7S8MB6?AHW:^AD!;G
M *]"9L43?%^3?B';"IC+>EE*MZUJ(7/9$IUCF)6-HY(!OHNX>?V:A[9:9\>F
ML.^JQ4E5N*BWELU1#5#8GU) UFPVO@<)FNN]QIQF2]')4&)&OI+9OU%;T9%
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
M&?_4D*"YM$DVHW?$=_6CEV=C3'>8:54?I4%3LJ"#2VBY>_"W+O$R]HN$V(;
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
M3F;;"J<L.I>,'SR6V.D^Q\)@87//2\$TH4'0G6W1\S12D#AZZ80M@^,CRS2
MX>D<(K&L(-6)[!=0)!R^%C6P3$# K0@/=D@"!5RS%)*,J$6ETDC?R/H V64-
MZ'0C:#KFK)$@LQ+$BL!L4Y#:TL&$F8C(2 P8#$.Q*E%[*N@,9!>Q3@,\H(IW
M$#PR!?$7G$ZPEJKJ"NAND$';8<R[S.,?\>6//G)\-+<W9U^XSQ[IOZ=Y.NK%
MV8(Q@&?OT%+JQ"M;VH6QYMN%<=V'OLS2Z0=54=4;8]#[6@&HA7Z$^9<96QJV
MGVN7C0NF'ZH?X9S.@IZ$%CGG?>_D=!$\]&@[]&@[]&A+0(^V.'*:R_ME!=M7
MIN/A7(_F?0D1D,6=1]MGRLE1%5:;F"]BFUCW=O3 M//3ZO45,\P77SNY$-;D
MLMW^6%S_1IVO M:_6V/2]]CVUU',.>E\^)/VQ(GJ3Z77?+^EJ7UA5R<=,N2>
M+470SFTK!1%^&B,NPP;+6160AZ]1)Q1GJ"H8U"0F&OU@1N?T4ZM/OV$M[$[0
M# GBS6!*5\@26\CB4>#3+6N%_CJAILH=K7_/U?6>S2D+^UZV[<V1:]%L*N+Y
M(U[(0X&AF1"0^7B+MM=2"INPA4>!I-K*@ZQPQELGB"N62D,BV2*R&'4ZDZ93
MV=7X]&0AM_STV0@13MV!-LMNRK8M6&!8799I<I>S\V%W5LP%Z[*@+2]EV9"7
M6RX7?+GM2D/4XR"U1S_H>OHF?][5AO7"$@6Q$:VC4P\!.XI9.:1R=+ZX2>'E
MSBV<0-^1G"3:9&A%L=_"FK443558A_O%6QL#NJAN9DTM4S,N](G"+LA &,JM
MX8"OCPB-8NMQFU:I'/0777^>6]*KO!QF+,7'C!Z%_"Z\5UZOLY=W2BF(&>/B
MQ;"W8WY))^_/C7U?ZEH+,@\.M5^0:)]@YQ .YHM8\]=\=[7:[?79J)XMA PO
MN&@0*_AYG8A2C(GC"!#0R6"24-'&FK]&:E^.*F^9WO#M;?!YF61'8<?M0/)1
MVHBK[\SM+M@X*L-\>6#C[T=<F/89-YR8BS4 %"'*6$N<@,8P 5-)TIJ94"XX
MJ=-O69LR!WH$WKDY[;=>?[Q*]Q]2MCH-3YYM%6I8$Z\0WL3[1-=@N/#5\@/U
MW(]_LE>-BZDLW.N#)0<JSITHM8<C79*PV4UM5^9E5GB\K4S?%)%Y+WXM:,W&
M@YK3AT'-#O@@BD'-Z<.@YOT/:OZR</<?O^;@I"(4NW1?H98'T*/L!\%?FM#0
M>^1#(/^H#4!U4GNG0&F*68[V:JBBQHO8D=!( 0MX4J0,IZ<JPT58;*H E3J*
MT1_8?SD^LH',JC $,*F";AM8B_"!]B>3Y0".U:J&<^%'1X8Z4C1S95U<-F,N
M<,B^*CBT!"""N77"HR<#D1NX*XF.CQPZS%?BB!I&W9L)1FF*W"JTC+G%=:$C
M\]1Z&6OH T45]>GW*@]9O#:C1]G>"1* CUNLJD\[*BMKQ(/5JJ+&28IFJ$&P
MVKD93VL\Y67&L9?YGJ8)Y3K[12[[?[N_;A4=R7\J0_WO_RTBD_[G0CEM,5UX
MF4F%2N_\B2L]#?HPF0:3C,(TH]Q$LYF@Z\'-?FEF_RZ7 \OA4B<>JTI\S6M0
MF8#M=KO:H**T5/1,E=0;(<^[/P7%K!FLC.\4M##GJY+( >*?8ONJ()#V]3QF
MKO)(%26X(K+47_!48,XT\[-F??/XZ-K\:MGZ*OY(ZN??--45](D@R/.UH>A*
MJ-Z6J6NE+W[0%/**3FE3\4.Q)JM!XR_8FD)5U5/J#.-'VJR.C+@>6#DT6;C
M&;@:0X&"4$&ECX](ZL+>/'X;%J7"3XU0S"SA@N+6^05039FZP07<YG4XWS@
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
M.BB&@V+X2HIA?LLDS1&K3BC:.J%5ONL<'S4:C42)<_0D2*8TQWK(I07%GV)
M\=\A_=V\:]-4[:E6N>\T'FI4LUYO5&IWI+BMTKQK->_*G1IUWGRHW4$]ZUY+
M6+^\KM^3OL.#S\@D$!PZQ'%%32 0<!/K#VT]P&/OFP&;D6+-Z#'!,YZYWHN-
M"TG:_X;T@,GBG'^:8'^\?5]PK,$<:RKA4OV1*F+X?H_JP3N&&#N@P?AQA4#O
M)<&$^T#"C: I-4$=$Z03NL?( "'T,^2<)#,>AJ,)F@;CP\ SAOZE]G-XL_.
M*/#T\='"%]&S)%& O!:$)LQ0&/QSJ(RA"V+-2PVR&C.PZ'2DL+Q\+Q'V=//&
M+TP.UL"-+5C$'JR]USGH02!$P3,@)/P+PO=9GP3T65\-SEACN_".$Z"@ *-;
M)BH[LFF0P7"(2#M](?F?4_U^_=7#+SZ@K_ZR/:6CWI)/A[G-YA)$<V:IQ2$G
ML1A_Y?[A&&,]QEP^Z@VVS*MV<8MS<R:V5F88?Q5>DVU%K"@)5)W ? 6ROEJ?
ME2/B[)A7O7 Q1K[6N#5)OOCMZ!SELC#&P.3911 "3;7 JL2P+X)'8$5UR,X;
MBK'J@:C%?8E>B1#'K(JL3-9]IBJ3&/7 3K;SV15$-G\X@/UOPJ5G/( FK%S:
M KBAK#H]&!:+M*L94,A.UE<U5$%>4+O)7?EGUQVY]('.D9O)9E3I(.>+E+F$
MR"99WJT@:<K!@]B-!U$ZT/D@Y+NBS)W(#=#]31:(/M05#V*^$S$O% YT_I1B
M_BF# !W!%/$;0QT-II_<>_OLLI^+4?:_R 'L8!/+M84]0?A0"+?]YL(AUB*?
MK?-OU\Z"0 8$SU+": ,"NC!43T0YN/K-'OF* \[.[RT<Q^((35)!7!ZIHD1!
MXY!3ZD8]-==A/TN0^VS?K!M1Q3'I*H.6I^/:%&NP!AEW6Q>ZJL&J4RI5*I6L
MCJ@P6!-]])2Z$'#!,31,D47%C3IA=:K*ZBP$?UF>8S52;58QAV[@?A8LY0SJ
MQ%5*>#<3$09VPEP/*!8ZT1&M795K0S((@T>/IBE9F!!4BZ:,!B(,'2&S0,4/
M@3^!NB-<IZ.H>D^11 5]DI6F,)D$CQQ*%VB&8>;J>T@M74_ '5O0+PA1 "R#
M28$HD ,* "7PUCGEI >ZPL2GX#/&PSPKM69PK@#^85/E^,AL!T.JDFBJ(7.G
MUNN*6?-U.9I,"/90E'(1U)I!PSN?H.8>3AK<(JH"D?X5?U7.VH#_0?1\9'5N
M\.]_Q5]09F6?BD-U3&A-U,UNMG:?4<)#(J[?$G%1CUE,KL <6>AW!NR'\X!V
MQ?=()8P"C8EQ:P?T!(=MX-V"J@W$T?&1@VDBY3KDT4YY.:P%6N3@EB;P"6M.
M#&$2S08,:=1 '#H()%,(K</Q)GCFQ/'XR)3' _(V5$>4W*$C2K0=47*'CB@Q
MP^*6CK=,#M04&RH[L5$10<S\+<[=8@L&*BZ'PK*>T:#);7.!]%^#87%X-#C\
MFS$AFW.?H?$-05[C7*#8I)E_BZV'X?XLGU04,OH!\F7H!T.'Z]"\/B>XAG6
M,:2XV%BT6D@K>)"T8'4,Y1;Z>+IZH.#F^/C=4'@)5QZ9!P8SJ=2^!:?%5ZYU
M2Y%&_&9//](E&L"NSC4*TF==W/#AKL'W!=P6E!"J;/2A:AS9;=C2LEMRP2^\
M=$)7-2'4 \P\<^XP((^]#QHWH],,1&UX8\.T:*@[7(N.5ZU#/SM5UX:N2_J1
M586! D6O%XH$RE8CI 6C;>X>GL+$ ZM; K)!;EF-9]^I<TGIH@VW,7S7/5!N
M.NPJZ/>MQPLZBF.B*=W<'JD/MRPVL]8>]N<^/+/7=N!S,5B9MCK(2H1F)N[9
M'C-@]UMOURJT>ZFL),&90-,&5W\"OU=0K,&+[BX8-.(%'=?YXJ)BW%V"]G0'
M)PPV%I$<0VTX/(/2C!'NH*-Q X&'-CVT^RNX7-VWFS@9_J#HZ)V"6?I-K'#<
MA\A\J&GN+V["W0D)KP+0T82%F\@I(2S+8!XF+'U\Y,_"EJA77=Y,W10ZTF<Q
M)%]:O(3[&T!G(]XY)FYQ,'J K0KJRW:<LK TW,K"Z95'FJ6/S9&!: M0;0YZ
M;.%!0$ZW7L M"4!CC^!'R.^+B%& 32WP_E*N)!,\H$/3"F:T!EB,I*EM$N,_
ML6J711X=U?R0A"DT^30/ZX:=PLDPV*MQG]P2I6Q/332;^$A$(==55GZ3$ 4K
M2""F,(8'^GUJSKGPPEB0E)'I*EF=3<WI CY'--_ 1 MNT:+I*GJ3@1NU>!K@
MS[4(T5DX+EYSAF<0Q=06R*C4+).U>UR9)$.7S@+-S,N,P;,#$ 'AYYP_O=!E
M7+:[)[2)@XRT[57KYIRFKJ];#G%,_Y>W9!H]0H3F&^@5,"42,?SQ$2>)5J>,
MH2'IT+$?!!%)%_*CM%/7"@9(-, G/V.13I"(5)55\M7R_ UWPT(7,,RB+;?G
M:WX,K7Q*G%$@RKTL@K)#]QI6*_<Z.W"_%J:I(/6%#%^H#*FTRO ^_*&#297\
M.J:=&I<6EL?!\71_N4)=9CF15<KD,X>:A+DN#5G QM$I545L:#T-.!'XM:Z8
M;4? J:\UX0D7R-52N]#WP[E (.31GHB:=D*ZJ0S('^;ZK4(7'Q Z4VR@!Y N
M])%]P(]%#6;&6B.)\)@E1.@9"8T,!%;2!QRZM1:6V,47!:@()_)&3!CT U)N
MZ&." :WGW9$2. +<#!J9TE ^!9>NV>5$@FA/@?P6-(I-S+D "3DR,Y"(>[.1
M.*)K$=8DE8$HL3(,JQV!%<L9YK 62>RA=7!X/1H.@IF137.0BTV0KG5H&C2Y
M@MO6O#J=^(TY3Z K(A.$&Q!])/ =^%FSZLY<MS#0"GT5K1;:U8#"[QG8B+$7
MYZ9VN:?CH[<C4_!KXJ.024L89@?VNH!+X'#O&W/H+9C$K*3 L&"DVJ CCDF5
M"KHTD'YNH[L==SNBKI$% *',P5PPL*F*N V\'5*]<?7]1L\4U*'!LPZOF,;'
M.[1;Q!UE<) *>E##2YV9,PY#0GV@BKLTB;KA>!\VC<E=0<[''L>-3EY#O TC
MLM#%4C&#9>?HGI#?3-OA9 #Q-]ZLJB-K<-ZZP,,PGAJMQ#I@PGMS3<Q)CR1R
MC<ODEC5-%LSB$$-F[79>6>;_0PLW[ O)S6IHJ[(R-N/&F(MQWQ[<5PQ>Y)S\
M\9$5OQ:L5E;XCIQ:H46JCWT3:8JI0\8^@ZD_!GM-0X+4M;['&5T8"(U4V5 0
M+%O+"H[BA>G(U+0^C=<'NDF$TD,R<$RAW@1A1+$0?M'(&'#3?D,R+O-F22:Q
MC(;FB<$URL/U3]G]G<#T1T>BF).C(8RMB68++3(V&4O3";+*T0K?9&4B"<BS
MQ-)'Z$=#&Z+A"#F;F+D0\W F>1R3"BL:M",!$P84"+9KM0$,E#;/&$=^)2*[
MF#M._+C3H?F0[;,SO#Q3D&VGM:LH;[CS>9KY.6]Z&.@:PZ'ECBF.V"Q,_X36
M6(KIQ[;P5'=.P ](_:3^>A3!3".MTJWELU1K4(65WK#HC3!9CC,C^1>L.L;P
M$\>D"=#/#MFQT75"1()#ZE9SYTS65=P!H^6.CQ)3=IHLF^%@/;FM)WZ"F=<"
M56QK.X$)3Y[EJO%V$I9V<@\KI=%<KH0]/H+HBDQ>6,5.FG/O:=2USI.8D3?-
M"$V&H=T=EBYH3P>!('))TZXEV6ZP&2/"S0?M0-&\\63J1;02TVNB=&3OX5^X
M7HRN_U<<HL$3.4%0<5AD01M:/M@I5;%HXE[6@MEC63LP$L^BL\OVJ:"U\2*T
M8\21 MSWTO)?7>V2[4%%V/T5-+)&:R]N9^]"<!^Y'3Y!WZ\-1R+<@C<BGOJF
MS64(<:C$/']6-F.PJ3R-L[5B7^34Z0B]]$Q2N#=N %T$V] U$E_;[N^:O)/"
M7[QFWX0>) +,9.)"6A(9"/A+KJAOJDB#0?[?2IVD2=WA'S"Q%.K.;+@Y]]HV
MS*YS!40Q Y+Z_1M%PP&K%EH!50/J070!'[?/4DB4)\/0D%LM.%8L\=KGR%DV
M5&0[H;O;65'/#)V YY]9C-,63OUX=R[;:8X:6<A5(@D N;(<;;C_VL"6Y)8&
MV4 LK$ACVXJ<NWU,SL<NN-F.U+IB$G.C?+9$9OZ0R(PVD9D_)#(/B<R=6TLV
MU)S S'$N<WUSB>A[2[V;C_*WELQ8D3DZ88@G*%IW/.Z3"UK9<5AM9\E&4\'?
MY])Y3M"]ZOB*9C[OY *G0ZZ%/IXH9<B:(.%;&;SGMND]-\Q @0!QYPH-'9UQ
M*!M=XWC:3PK?8SBTG<KA7V3G-HKO%>(W>V)?-#5"]!TBS:5Y_2 3EX/N=-+T
M5X,F+0,<A"%?,O-V$CNA2>H"WV^D_3+NH(R,(HC,FVX3MJFP869&A.K5LNG#
MZ]@W1'RIRL+4Q"GIF$[6[Y:0_OC(0K*-1HHHNX9_EZV ELT:%0@]M<CR!0-K
M5GBTRZ J+$#WJ!N;R18>APZJI0+"K8P;']$ !_.W=W)S!Q)@_-TAHX*G;@UD
M)6)[KR5QYK-ND6F.'P6V%SG?.:O'_90'$0)DBKD6E[ECL0FQ_K(VPUX(+$&U
M6<A![RYOV!DB4PMBB@NTTUR0-U<.*@^OLBF TU0%LQ6]IK@6#C$;A[P!*UC8
M;!#@$CV@.=)%B$U_N%9EI7S2.*+CG H1%29'EN5 ,N>^E)W;!_Z\E4DR&08#
M*PDRPGZ3^ZS=IJFC6_!:+-=@-,^-MKI9V+='L9RI+ ]QDX436?B:%U]@*Z3C
MHSF-I%--51\HB\\##_!2&<@:8LG_98?(^K#^!<%)$7E&ZM1*09.X#H_L!MU2
M<B#C2$%@!A?&$OJ:[\.()FES YR$/6E)X%@N;,5\:ME2"1!%M;Y!D6_,0RJ=
M 11H$99Z[6$ !5[)XH?GUF(MT_4A=*JN>"P.'$.$7N!=NYL'R1(6-Q>A*/^O
MO2__3B-)$OZ=]_@?:CWV/GD7(8I#1[O;[\F2W*-N6]8GJ;MG?IJ70 (U+JJ8
M.BQK__HO(C*S#B@D9'$D1<[LCA'4$1D9&??1KUGG02S"$&=^. 9[JZ< H\4J
M)_0-6)P8-[P5CLH!79:!0Y[=WPB'OR6FRB.;G94^8KM<G(\+ZB.2O^S=-HAG
M ^O27U^M).Y,=/A[(/.'#]G <(0FCP?8I4  D3)LCN^[.=Y';F<,-8+>(=)[
M9=NVU($@@@(R)<7)Y<!*>TML4.(G_VODN)2S+-%1*SB TM0O4!'@#_O0^N-6
M>H*SKTL)/#V5F;R/:N4B&CD]W&@Z.34% (;7PWC,@R247K.NG2@"=6+_LP^"
M$2#L@2+DN&(GU&W9XSBSW8+0_%P .0,LSH>?2F>2PAXV,TFH&3D3F2\2LNAQ
MI"CW!_I?HG >9O(808=KR.6<<OBY9OW=AV]_]S$B]QN;D-+'G'O\]U>.^;N2
M=5QX0Y N_1DQR:P/]=NZY-$?ZHHWR;CV31Q1,E?J"*8KY==9!S&@TW6Y\*JK
M9Q!CJY_7U9 !>N0MCP K?V>N:WT"KB4H6+Y?Q-N3PW8N;@-(T=?-@0&0)I.@
M'^_'9U8K5__\(_.T["*+G0Q)%G]-L$[,N< C!=_1'VF08"C2,(0Z)74ZI?P4
MJ$JB%23J%W@\X;HY:C/Y^RGWPO'$B .@?Z!G&1VEVR:2M#5V<9>ZG?%FK;/'
M7M%5;0!4"X#$G+66MQ'/L *5YW#*:RZ@RX,T=U$R*P';C&+N45(;DDE/N(T]
M9-*99,NKT]OST_]'D6G,^$S/$/9^#9P>,/(8A8',/76DG84.*!8D$X7A1 ,0
MO1%E!G 7A2VI"<@H4IT;NQ!G5E5DW2;R &1%EE70A!4,E*<>;@%R5A?]S1D3
M1Q8"?.R+B&A&:JM<A4Q=$F9J(4\F Y1[(I- 1AS0MJQ6KG%4"\)[+;Z6=2%H
M=WYV@&-[GD,>>.%N51?1:&@FIP'A&J2'-1O0RV:;9;)Z25Z->+[<AS*B:/*/
M6!%&-T+)FC,E2!EL7%,=C'RSL&YGUEW+[L=C"GGB>8=]B3"@#__%*9>T&;4T
MT4S$:-6N/.S?H\MYK&ZN99,>BQ,_LQ(<! [S:.J1R+% 6TKIE0 'VFEJR\1[
M ]*<IZ!+'MYCL$'^T,)ZK#"KHCZR7*D&%[I',(ECR&9JSD0<%W82]L/;[Z,[
M%>'R^XEG(9FRB03;Y50ZAZ.8$WM1DBM%NUH=N7ELB),V876./-+B*?A*)8LQ
MZ5,Z3S()14@J!5L4<396(\6DS4?AI@%R*"%7A>Z:(1'@5F+J&L+[^<.I4$@^
M!,YPQ,;6/^'(#S.:3JU:2=X*7*(?4]0=M,XQ&)KQ&!0',1.U+X:* D,6V9I?
MXHAR*1%XH=!,F=YCH =:*=+&K_+)64#3=&C*="!;=HX:22L0Z%?JC?*SD4DT
MT^=Z2F]5; J>$(<<K9,%XB+:B.92ZQU+GS^:Q,?(?#B3@]"$:_0:!WQQRO@S
M+?/77G*]U*82OHB@=KE0() ?)N8,SD/TN/HZ$XPO[(B?:( RMDH*$3KLN\S[
M&L23",Q$N!/,'6!IE,.8$)&U1_H.C8KT4-G!9XIIEZ0'P0T4T!Y@.G3XED8
MXINR<YF]AV2F',YRQ![_LL6_2%R]Q+E_[8:]-WB+%Z;6H76[_SNN-!#I C2S
MKUJ1=>(/F;&*E"3X[]B3J7==2K8 V8A&7Q@I"!9!53]."A0HUS2"=\E4)DQ;
MN$\G7>*@5YR>QQ)6FY]/26FB,F=,.4Q E8T>U,##M+:] !+M@M=E.;GK8-$D
M<V4J+5@R3A1Q#*WA[%C#E7?$[)?#H M4/>3&V6DB8AAJ<0\%8K3S)T?7+-&!
M@UH/U$3\,K7QD\?(HD'\%31#V6R"CR>N_\"3>9^)(B^J%I(<4?B"$O%DL@]Z
M)P4>2!4G+Z((/2MO)+K10#KM)R](>&XRW58M#U%!,TC'LD9*Y#F%R=A9:P\G
MK= X8@KLXOK8OWW%1I,GO:6WRCS;;-U>\FZ50DLB1^8FP6.0@6<$$H!_$[O<
MZAPV.GOL[5[SK7J-K/C\Y(BZ5KQ*[IQ8RIA'Y CV:+!K3I#0"!@Q6SO)H6I1
M0+IIUZN54S!$,_-J(CF&.PT+TV.CAWTB&D ,IJI8>T>=-PEPF+A-TGJ&>'H)
M_\E>([PD80S_H]X,1A++D,\($]WD&@A.?4^T)GE41R:/:KEY5$<FCVK%>51&
M5BM,_,51G1?%NA0@H@+5E'E*ODKYSS5*4!B#A F%LE]\F0R%]1*OW1 =:53T
M?>#Y:&BIO.C<S6#?B)=P!MPYX=78/< )>W&(D>4N=_U[,<2L.U>.?N9AB,I%
M*L>%R*ZIU&[1B#T1V;/"4XK,:B5M;-#G W*""A,GO58$XRA%F7R6$V!N7 C)
M1( *%[\K!:@L3I;E0,7SV"R<#R[J<F'[A/N,5!=5?"6-T,1-ER S[_BNI0^Q
MY#-JJBPM<X\E9K"GCT]*I\7LM$"4=I$/?$XXD-I7>1PS!# 6CM9OOQ^@NY!>
MA[:S$X8QUR\YN=1\99UC"QD<DA!4RTG6$2!"1Q,*Y*/V)D@G0WI*+\9RA$ I
MOR*<34:">) ?\LQ-J$Z[KN 10-XR?#VK^OZT>[16KEE_3X_TZ_[X7+&E#OY0
MM*G=Z*,%>JHN#Z6K[G![F9YRL8JSE&ML%>;AQ.#7O[SJ3%LPV[@+(C\WU+4_
MMJ8MB@U8.H)5<#)U.7>S8.MTRM*)H^VE3N0\)8MTN0)V1=-1E]N_?"78G/)Q
M[QHV[25C,QL@,+A\$8C9Z,K.H7*Y0XR3N)3*(==59FBZ+P8L Y8!RX"U(;#*
MRJ'/LK&CK?:8;0*L1X6Z%A!JBKCE*^F:(FU-(YJ7:SQJBLMU6#9EY?.:;H,!
MRX!EP#)@&4W\_:]I1M95FI%E5/(E"78M@-,49SNCC1O%>^-@+>@'7_=,7I.+
M^.+%_=P5<6&L_E=IQ-1*+&GI<$'=[DW1V:XDLE/1V73V>MKB!)N0^.-)X%"#
MLL&SDL1%KY'<9 SL)('=*<)LWFJ2R#X%AJB6&B15NJI&=@I8V?1<3&\6O2]R
M::T!'^+D,^PM(QNP9<898I,)RKJFA_J$##&*KF@Z7$V.F5.%6KE\=IGDK0:_
MB3%U<V?,)2N1I6;8#T4T/Z>F-3@^4+UIG R0R/2'R/62D*\.'T*LC*9$^_R<
ML/ECPL30[+#G^B'V[TSFBLG!=SW>AZ_#>K5R5]R'@EJ)]?U)1,WN[@/<D]ER
M")0G %'=.DTF??1P@LZ<+9674P7B-^:XE)Q+<XKA;IJSA<.(*,O9HY7?\ZX8
MPQQ9]_?W]9[?=]C0\W'T=0A_C9^J?6"N.UOP+7X)>$*V:I9/'EJ@F,>J(:Q5
M%$,D,]O$&9GAZ6,J4(351,0.%JTMM$Y=-U<!*%+)GU5B*#K^%-083B4DZ5(Q
M: 2./E7.,R5)6>$AA@V)5F%I*9!HCJ".WS0CF9[BH\XDO6N +Z*6*&PR ;E
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
MG1^# )UHM%0C1#;/1Y8L/V[C\9B23G-1J3LD72,B=D5$D!-1)))2]K05$E7
M%2*B&OD135'(QAV9TZ<<=Q9XPJM-J?Y)P!WK3PL\C$7I SV&B:KH:T>S6]2V
M#H!%P2NQ<#.<UP2'^#%\:% -%MGS/L52I2AQ5-J^U<.P-99+^6X\1F&2,.K$
M+2_J9A/SNLM[+ XY 8.- !BF?.0Q,&9@G).S7JY%U*OV1NHUE)(QP6R$2&8?
M:==A72>F^GC^=*=A\J>7FC_=:9C\Z1+[SY>J)DRMX%E'9O%5+G:X7DV/U)P^
M3P(I!;,RGV80M/)[CCE+^!RW_^H]'AL2-->)L_=:]D@4QR0_I"YW]SM+XB=Y
M)[TM)8S<J#M8+:+YEU?-:7;S'(CSK$1PBU?O_PER=!K<0M@*<9 !=SN6>\M<
MT&EW:,$??"\.K3W[[0ZM^18S-W[N!M;!>^OTGLKE]IJ[A "L+OQ"[@B)!33A
MK+W6+N'@#BV3S/*5=KX<%!0,<"Z6-D566C#L[C4;[5JS=5QK=CIO"R22%&MM
M5!EG-<#S>TJ>O1@R3Z[P&BP-:J=F_3<;@]8XIU_N].+E:YIOYFQ0_C+[33&J
MBVE#WG0XYR:TT^;<,OT>L>A'W_*#*Q!/?KT@Z %B_=7[5J=1:S0:VPG\(=!<
MNW.RG<#;M6;CN';4V5+<-P]K1R>M+86]UFRV@>R;/PS^JECF%(X>Q<CBW&L.
MRYJAO*>V;&%PYNQ*$?]IG-1:1QT=("GFA!N Y.CXL(@O;  2^ZC6T0(E=JU]
MV*H=-I])*"\ZIG\)__,&SN;35RX![4^_1.+>0&.@61<TJS9%9M_^(7"89WT(
M_'ME?@ASXV.2ZY@=SY&T6EV/A)XQ*C; >IL@H8]:.D#2/NK4&G9; TA '+7M
MVJ$6HO''/>WD/U=Z_.2]!FMIUNQ.JV:WCHV8WPIV;: QT&R'F+_A.'2,>]CR
M<*_]5HKZCV+.E9'X>>G6.@3$ZB#;[$Z[=G@\XZ;9 "3[&L!0)DG?LH]J1VLU
MYXW7+:-GV:#!=IZI9:T&DF9'$Z];\_BXUM;"$ZF-U^VHW:RU6S-._@4/J4RJ
MVM)L(+6D>3E!V1R@Z1RA9Z\UEU4W-T%H)B=H\1<49N/-3;F=(9]GK 2?L(_(
M < ]_SY@DV1YC7JSXWC+W"1*!9$[5$3VB\.=I>DT"7LJI4\2XRPI+G--E.2"
M!1/6,_ZCVA4^-DTS&3S&>KT@QE1=2J>9L =1X.$/K-?-8[O6.3FBEE_/>3\.
M5,8(/JG,KYO-5JW9/L9,8?R!G&NJ<2,VJ,:D:L>S/O)N$./8(H"N"9>)A:NU
M/ ^ 1Q;>6&CA1TUDN@KD="WV,86%G@>-6KBP-QY?N9U/BG[.:Q;YST9H.+.B
MN9K;=C"OQX/2+^0O3^BVVX*A)?+S9OGX.56=L#'L0Z0J-3*E&Z*( K]7(^:
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
M)Z#SM!.0F).HEB ;;>"V >*#2)0V8F%FBLJTFXY: XUYDL7H:OA9LG(\-U1
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
M'H,7K124;.,M6#I65^ G:"WD)P SJD]Y#+*Q_*..@]W;=@/J%AZFY[D,C-/
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
M 5!+ 0(4 Q0    ( +F >%03?AW4F1   %BW   1              "  0
M  !C;V1X+3(P,C$Q,C,Q+GAS9%!+ 0(4 Q0    ( +F >%3!:XXW)A4  $\2
M 0 5              "  <@0  !C;V1X+3(P,C$Q,C,Q7V-A;"YX;6Q02P$"
M% ,4    " "Y@'A4VB1(PT4H  !TIP( %0              @ $A)@  8V]D
M>"TR,#(Q,3(S,5]D968N>&UL4$L! A0#%     @ N8!X5%K95I^:=   SC$'
M !4              ( !F4X  &-O9'@M,C R,3$R,S%?;&%B+GAM;%!+ 0(4
M Q0    ( +F >%0KAZ>9I4X  !^(!0 5              "  6;#  !C;V1X
M+3(P,C$Q,C,Q7W!R92YX;6Q02P$"% ,4    " "Y@'A4,A;HF<Q)   P&0(
M"@              @ $^$@$ 97@Q,"TV+FAT;5!+ 0(4 Q0    ( +F >%27
MRYD=%TH  !4B @ *              "  3)< 0!E>#$P+3<N:'1M4$L! A0#
M%     @ N8!X5*X-/E*J3P  U*T!  H              ( !<:8! &5X,3 M
M.2YH=&U02P$"% ,4    " "Y@'A4+-"UI_8(   I1   #
M@ %#]@$ 97@Q,"TY7S$N:'1M4$L! A0#%     @ N8!X5 ,DC,1C!P  K40
M  P              ( !8_\! &5X,3 M.5\R+FAT;5!+ 0(4 Q0    ( +F
M>%1/ 4=0:@,  /(8   *              "  ? & @!E>#(Q+3$N:'1M4$L!
M A0#%     @ N8!X5'81V5K1 @  !0H   H              ( !@@H" &5X
M,C,M,2YH=&U02P$"% ,4    " "Y@'A4B_[IAUD(   *-   "P
M    @ %[#0( 97@S+3%?,RYH=&U02P$"% ,4    " "Y@'A4W]J71+\'  "U
M+P  "@              @ ']%0( 97@S,2TQ+FAT;5!+ 0(4 Q0    ( +F
M>%2\@,OQJ@<  %,O   *              "  >0= @!E>#,Q+3(N:'1M4$L!
M A0#%     @ N8!X5&0.:KML!   H1,   H              ( !MB4" &5X
M,S(M,2YH=&U02P$"% ,4    " "Y@'A4U'U"@6($   .$P  "@
M    @ %**@( 97@S,BTR+FAT;5!+ 0(4 Q0    ( +F >%3+@B:_DP\  &!?
M   )              "  =0N @!E>#0M,2YH=&U02P$"% ,4    " "Y@'A4
M4G/*6)CU 0 5M10 #               @ &./@( 9F]R;3$P+6LN:'1M4$L%
3!@     3 !, 800  % T!     $!

end
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
